docs: update docs (#916)

* fix: re-run script

* test: fix noxfile
diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html
index 934bffa..52bf4c4 100644
--- a/docs/dyn/sheets_v4.spreadsheets.html
+++ b/docs/dyn/sheets_v4.spreadsheets.html
@@ -96,7 +96,7 @@
   <code><a href="#create">create(body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a spreadsheet, returning the newly created spreadsheet.</p>
 <p class="toc_element">
-  <code><a href="#get">get(spreadsheetId, includeGridData=None, ranges=None, x__xgafv=None)</a></code></p>
+  <code><a href="#get">get(spreadsheetId, ranges=None, includeGridData=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the spreadsheet at the given ID.</p>
 <p class="toc_element">
   <code><a href="#getByDataFilter">getByDataFilter(spreadsheetId, body=None, x__xgafv=None)</a></code></p>
@@ -130,61 +130,18568 @@
     The object takes the form of:
 
 { # The request for updating any aspect of a spreadsheet.
+    &quot;responseIncludeGridData&quot;: True or False, # True if grid data should be returned. Meaningful only if
+        # include_spreadsheet_in_response is &#x27;true&#x27;.
+        # This parameter is ignored if a field mask was set in the request.
+    &quot;includeSpreadsheetInResponse&quot;: True or False, # Determines if the update response should include the spreadsheet
+        # resource.
     &quot;requests&quot;: [ # A list of updates to apply to the spreadsheet.
         # Requests will be applied in the order they are specified.
         # If any request is not valid, no requests will be applied.
       { # A single kind of update to apply to a spreadsheet.
+        &quot;duplicateSheet&quot;: { # Duplicates the contents of a sheet. # Duplicates a sheet.
+          &quot;insertSheetIndex&quot;: 42, # The zero-based index where the new sheet should be inserted.
+              # The index of all sheets after this are incremented.
+          &quot;newSheetName&quot;: &quot;A String&quot;, # The name of the new sheet.  If empty, a new name is chosen for you.
+          &quot;newSheetId&quot;: 42, # If set, the ID of the new sheet. If not set, an ID is chosen.
+              # If set, the ID must not conflict with any existing sheet ID.
+              # If set, it must be non-negative.
+          &quot;sourceSheetId&quot;: 42, # The sheet to duplicate.
+        },
+        &quot;moveDimension&quot;: { # Moves one or more rows or columns. # Moves rows or columns to another location in a sheet.
+          &quot;destinationIndex&quot;: 42, # The zero-based start index of where to move the source data to,
+              # based on the coordinates *before* the source data is removed
+              # from the grid.  Existing data will be shifted down or right
+              # (depending on the dimension) to make room for the moved dimensions.
+              # The source dimensions are removed from the grid, so the
+              # the data may end up in a different index than specified.
+              #
+              # For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move
+              # `&quot;1&quot;` and `&quot;2&quot;` to between `&quot;3&quot;` and `&quot;4&quot;`, the source would be
+              # `ROWS [1..3)`,and the destination index would be `&quot;4&quot;`
+              # (the zero-based index of row 5).
+              # The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
+          &quot;source&quot;: { # A range along a single dimension on a sheet. # The source dimensions to move.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+        &quot;updateProtectedRange&quot;: { # Updates an existing protected range with the specified # Updates a protected range.
+            # protectedRangeId.
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `protectedRange` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+          &quot;protectedRange&quot;: { # A protected range. # The protected range to update with the new properties.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+            &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            &quot;protectedRangeId&quot;: 42, # The ID of the protected range.
+                # This field is read-only.
+            &quot;description&quot;: &quot;A String&quot;, # The description of this protected range.
+            &quot;range&quot;: { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              &quot;groups&quot;: [ # The email addresses of groups with edit access to the protected range.
+                &quot;A String&quot;,
+              ],
+              &quot;domainUsersCanEdit&quot;: True or False, # True if anyone in the document&#x27;s domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              &quot;users&quot;: [ # The email addresses of users with edit access to the protected range.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+          },
+        },
+        &quot;createDeveloperMetadata&quot;: { # A request to create developer metadata. # Creates new developer metadata
+          &quot;developerMetadata&quot;: { # Developer metadata associated with a location or object in a spreadsheet. # The developer metadata to create.
+              # Developer metadata may be used to associate arbitrary data with various
+              # parts of a spreadsheet and will remain associated at those locations as they
+              # move around and the spreadsheet is edited.  For example, if developer
+              # metadata is associated with row 5 and another row is then subsequently
+              # inserted above row 5, that original metadata will still be associated with
+              # the row it was first associated with (what is now row 6). If the associated
+              # object is deleted its metadata is deleted too.
+            &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+                # same key.  Developer metadata must always have a key specified.
+            &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+            &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+                # specified.
+            &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+                # specified when metadata is created, otherwise one will be randomly
+                # generated and assigned. Must be positive.
+            &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+              &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+              &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+              &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+              &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                  # a dimension. The specified DimensionRange must represent a single row
+                  # or column; it cannot be unbounded or span multiple rows or columns.
+                  # All indexes are zero-based.
+                  # Indexes are half open: the start index is inclusive
+                  # and the end index is exclusive.
+                  # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                &quot;sheetId&quot;: 42, # The sheet this span is on.
+                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+              },
+            },
+          },
+        },
+        &quot;cutPaste&quot;: { # Moves data from the source to the destination. # Cuts data from one area and pastes it to another.
+          &quot;pasteType&quot;: &quot;A String&quot;, # What kind of data to paste.  All the source data will be cut, regardless
+              # of what is pasted.
+          &quot;destination&quot;: { # A coordinate in a sheet. # The top-left coordinate where the data should be pasted.
+              # All indexes are zero-based.
+            &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+            &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+            &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+          },
+          &quot;source&quot;: { # A range on a sheet. # The source data to cut.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+        },
+        &quot;updateFilterView&quot;: { # Updates properties of the filter view. # Updates the properties of a filter view.
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `filter` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+          &quot;filter&quot;: { # A filter view. # The new properties of the filter view.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
+            &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
+                # The map&#x27;s key is the column index, and the value is the criteria for
+                # that column.
+              &quot;a_key&quot;: { # Criteria for showing/hiding rows in a filter or filter view.
+                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
+                    # shown. Mutually exclusive with visible_foreground_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hidden_values -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                          # The value is parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                    },
+                  ],
+                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+                },
+                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
+                    # are shown. Mutually exclusive with visible_background_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
+                    # shown. This field is mutually exclusive with visible_foreground_color,
+                    # and must be set to an RGB-type color. If visible_background_color is
+                    # also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
+                    # are shown. This field is mutually exclusive with
+                    # visible_background_color, and must be set to an RGB-type color. If
+                    # visible_foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;hiddenValues&quot;: [ # Values that should be hidden.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+            &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to sort by; cells with this fill color are sorted
+                    # to the top. Mutually exclusive with foreground_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
+                    # to the top. Mutually exclusive with foreground_color, and must be an
+                    # RGB-type color. If background_color is also set, this field takes
+                    # precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
+                &quot;dimensionIndex&quot;: 42, # The dimension the sort should be applied to.
+                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color to sort by; cells with this foreground color are
+                    # sorted to the top. Mutually exclusive with background_color, and must
+                    # be an RGB-type color. If foreground_color is also set, this field takes
+                    # precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
+                    # sorted to the top. Mutually exclusive with background_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+            ],
+            &quot;title&quot;: &quot;A String&quot;, # The name of the filter view.
+            &quot;range&quot;: { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        &quot;updateDimensionGroup&quot;: { # Updates the state of the specified group. # Updates the state of the specified group.
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `dimensionGroup` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+          &quot;dimensionGroup&quot;: { # A group over an interval of rows or columns on a sheet, which can contain or # The group whose state should be updated. The range and depth of the group
+              # should specify a valid group on the sheet, and all other fields updated.
+              # be contained within other groups. A group can be collapsed or expanded as a
+              # unit on the sheet.
+            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                # collapsed if an overlapping group at a shallower depth is expanded.
+                #
+                # A true value does not imply that all dimensions within the group are
+                # hidden, since a dimension&#x27;s visibility can change independently from this
+                # group property. However, when this property is updated, all dimensions
+                # within it are set to hidden if this field is true, or set to visible if
+                # this field is false.
+            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
+          },
+        },
+        &quot;deleteFilterView&quot;: { # Deletes a particular filter view. # Deletes a filter view from a sheet.
+          &quot;filterId&quot;: 42, # The ID of the filter to delete.
+        },
+        &quot;addProtectedRange&quot;: { # Adds a new protected range. # Adds a protected range.
+          &quot;protectedRange&quot;: { # A protected range. # The protected range to be added. The
+              # protectedRangeId field is optional; if
+              # one is not set, an id will be randomly generated. (It is an error to
+              # specify the ID of a range that already exists.)
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+            &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            &quot;protectedRangeId&quot;: 42, # The ID of the protected range.
+                # This field is read-only.
+            &quot;description&quot;: &quot;A String&quot;, # The description of this protected range.
+            &quot;range&quot;: { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              &quot;groups&quot;: [ # The email addresses of groups with edit access to the protected range.
+                &quot;A String&quot;,
+              ],
+              &quot;domainUsersCanEdit&quot;: True or False, # True if anyone in the document&#x27;s domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              &quot;users&quot;: [ # The email addresses of users with edit access to the protected range.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+          },
+        },
+        &quot;addChart&quot;: { # Adds a chart to a sheet in the spreadsheet. # Adds a chart.
+          &quot;chart&quot;: { # A chart embedded in a sheet. # The chart that should be added to the spreadsheet, including the position
+              # where it should be placed. The chartId
+              # field is optional; if one is not set, an id will be randomly generated. (It
+              # is an error to specify the ID of an embedded object that already exists.)
+            &quot;chartId&quot;: 42, # The ID of the chart.
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
+            &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
+              &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
+                  # chart&lt;/a&gt;.
+                &quot;data&quot;: [ # The Candlestick chart data.
+                    # Only one CandlestickData is supported.
+                  { # The Candlestick chart data, each containing the low, open, close, and high
+                      # values for a series.
+                    &quot;openSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the open/initial value for each
+                        # candle. This is the bottom of the candle body.  If less than the close
+                        # value the candle will be filled.  Otherwise the candle will be hollow.
+                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;highSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the high/maximum value for each
+                        # candle. This is the top of the candle&#x27;s center line.
+                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;closeSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the close/final value for each candle.
+                        # This is the top of the candle body.  If greater than the open value the
+                        # candle will be filled.  Otherwise the candle will be hollow.
+                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                    &quot;lowSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the low/minimum value for each candle.
+                        # This is the bottom of the candle&#x27;s center line.
+                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                  },
+                ],
+                &quot;domain&quot;: { # The domain of a CandlestickChart. # The domain data (horizontal axis) for the candlestick chart.  String data
+                    # will be treated as discrete labels, other data will be treated as
+                    # continuous values.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+              },
+              &quot;histogramChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/histogram&quot;&gt;histogram chart&lt;/a&gt;. # A histogram chart specification.
+                  # A histogram chart groups data items into bins, displaying each bin as a
+                  # column of stacked items.  Histograms are used to display the distribution
+                  # of a dataset.  Each column of items represents a range into which those
+                  # items fall.  The number of bins can be chosen automatically or specified
+                  # explicitly.
+                &quot;showItemDividers&quot;: True or False, # Whether horizontal divider lines should be displayed between items in each
+                    # column.
+                &quot;series&quot;: [ # The series for a histogram may be either a single series of values to be
+                    # bucketed or multiple series, each of the same length, containing the name
+                    # of the series followed by the values to be bucketed for that series.
+                  { # A histogram series containing the series color and data.
+                    &quot;barColorStyle&quot;: { # A color value. # The color of the column representing this series in each bucket.
+                        # This field is optional.
+                        # If bar_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;barColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column representing this series in each bucket.
+                        # This field is optional.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                ],
+                &quot;legendPosition&quot;: &quot;A String&quot;, # The position of the chart legend.
+                &quot;bucketSize&quot;: 3.14, # By default the bucket size (the range of values stacked in a single
+                    # column) is chosen automatically, but it may be overridden here.
+                    # E.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc.
+                    # Cannot be negative.
+                    # This field is optional.
+                &quot;outlierPercentile&quot;: 3.14, # The outlier percentile is used to ensure that outliers do not adversely
+                    # affect the calculation of bucket sizes.  For example, setting an outlier
+                    # percentile of 0.05 indicates that the top and bottom 5% of values when
+                    # calculating buckets.  The values are still included in the chart, they will
+                    # be added to the first or last buckets instead of their own buckets.
+                    # Must be between 0.0 and 0.5.
+              },
+              &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual minimum value from color_data, or the minimum value from
+                    # size_data if color_data is not specified.
+                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual maximum value from color_data, or the maximum value from
+                    # size_data if color_data is not specified.
+                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                    # This field is optional. If not specified, size_data is used to
+                    # determine background colors. If specified, the data is expected to be
+                    # numeric. color_scale will determine how the values in this data map to
+                    # data cell background colors.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                    # expected to be numeric. The cells corresponding to non-numeric or missing
+                    # data will not be rendered. If color_data is not specified, this data
+                    # is used to determine data cell background colors as well.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
+                    # on the treemap chart. These levels are not interactive and are shown
+                    # without their labels. Defaults to 0 if not specified.
+                &quot;levels&quot;: 42, # The number of data levels to show on the treemap chart. These levels are
+                    # interactive and are shown with their labels. Defaults to 2 if not
+                    # specified.
+                &quot;hideTooltips&quot;: True or False, # True to hide tooltips.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The text format for all labels on the chart.
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;colorScale&quot;: { # A color scale for a treemap chart. # The color scale for data cells in the treemap chart. Data cells are
+                    # assigned colors based on their color values. These color values come from
+                    # color_data, or from size_data if color_data is not specified.
+                    # Cells with color values less than or equal to min_value will
+                    # have minValueColor as their
+                    # background color. Cells with color values greater than or equal to
+                    # max_value will have
+                    # maxValueColor as their background
+                    # color. Cells with color values between min_value and max_value will
+                    # have background colors on a gradient between
+                    # minValueColor and
+                    # maxValueColor, the midpoint of
+                    # the gradient being midValueColor.
+                    # Cells with missing or non-numeric color values will have
+                    # noDataColor as their background
+                    # color.
+                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # If max_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # If no_data_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
+                      # minValue. Defaults to #dc3912 if not
+                      # specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
+                      # minValue. Defaults to #dc3912 if not
+                      # specified.
+                      # If min_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
+                      # minValue and
+                      # maxValue. Defaults to #efe6dc if not
+                      # specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
+                      # minValue and
+                      # maxValue. Defaults to #efe6dc if not
+                      # specified.
+                      # If mid_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                },
+                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for header cells.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
+                    # If header_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                  # See BasicChartType for the list of all
+                  # charts this supports.
+                  # of charts this supports.
+                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                    # Applies to Line charts.
+                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                    # chart area.
+                &quot;axis&quot;: [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                        # values in an axis).
+                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a maximum value that looks good for the data.
+                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a minimum value that looks good for the data.
+                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                    },
+                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn&#x27;t specified.
+                      &quot;fontSize&quot;: 42, # The size of the font.
+                      &quot;underline&quot;: True or False, # True if the text is underlined.
+                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                          # If foreground_color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                    },
+                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                  },
+                ],
+                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                    # segments of lines in a line chart will be missing).  To eliminate these
+                    # gaps set this to true.
+                    # Applies to Line, Area, and Combo charts.
+                &quot;series&quot;: [ # The data this chart is visualizing.
+                  { # A single series of data in a chart.
+                      # For example, if charting stock prices over time, multiple series may exist,
+                      # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
+                    &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
+                        # this series.  If empty, a default color is used.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
+                        # For example, if charting stocks over time, the &quot;Volume&quot; series
+                        # may want to be pinned to the right with the prices pinned to the left,
+                        # because the scale of trading volume is different than the scale of
+                        # prices.
+                        # It is an error to specify an axis that isn&#x27;t a valid minor axis
+                        # for the chart&#x27;s type.
+                    &quot;type&quot;: &quot;A String&quot;, # The type of this series. Valid only if the
+                        # chartType is
+                        # COMBO.
+                        # Different types will change the way the series is visualized.
+                        # Only LINE, AREA,
+                        # and COLUMN are supported.
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color for elements (such as bars, lines, and points) associated with
+                        # this series.  If empty, a default color is used.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                        # chartType is AREA,
+                        # LINE, or SCATTER.
+                        # COMBO charts are also supported if the
+                        # series chart type is
+                        # AREA or LINE.
+                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                      &quot;width&quot;: 42, # The thickness of the line, in px.
+                    },
+                  },
+                ],
+                &quot;legendPosition&quot;: &quot;A String&quot;, # The position of the chart legend.
+                &quot;threeDimensional&quot;: True or False, # True to make the chart 3D.
+                    # Applies to Bar and Column charts.
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type for charts that support vertical stacking.
+                    # Applies to Area, Bar, Column, Combo, and Stepped Area charts.
+                &quot;domains&quot;: [ # The domain of data this is charting.
+                    # Only a single domain is supported.
+                  { # The domain of a chart.
+                      # For example, if charting stock prices over time, this would be the date.
+                    &quot;domain&quot;: { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                        # this is the data representing the dates.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  },
+                ],
+              },
+              &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
+                &quot;series&quot;: [ # The data this waterfall chart is visualizing.
+                  { # A single series of data for a waterfall chart.
+                    &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
+                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
+                          # If color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
+                    },
+                    &quot;negativeColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with negative values.
+                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
+                          # If color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
+                    },
+                    &quot;subtotalColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all subtotal columns in this series.
+                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
+                          # If color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
+                    },
+                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                        # subtotals are defined is not significant. Only one subtotal may be
+                        # defined for each data point.
+                      { # A custom subtotal column for a waterfall chart series.
+                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                            # data_is_subtotal is true, the data point at this index is the
+                            # subtotal. Otherwise, the subtotal appears after the data point with
+                            # this index. A series can have multiple subtotals at arbitrary indices,
+                            # but subtotals do not affect the indices of the data points. For
+                            # example, if a series has three data points, their indices will always
+                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                            # what data points they are associated with.
+                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                            # the subtotal will be computed and appear after the data point.
+                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                      },
+                    ],
+                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                        # a subtotal column will appear at the end of each series. Setting this
+                        # field to true will hide that subtotal column for this series.
+                  },
+                ],
+                &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                  &quot;width&quot;: 42, # The thickness of the line, in px.
+                },
+              },
+              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                  # Org charts require a unique set of labels in labels and may
+                  # optionally include parent_labels and tooltips.
+                  # parent_labels contain, for each node, the label identifying the parent
+                  # node.  tooltips contain, for each node, an optional tooltip.
+                  #
+                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                    # If node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                    # results in no tooltip being displayed for the node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                    # must be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                    # A blank value indicates that the node has no parent and is a top-level
+                    # node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                    # If selected_node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+              },
+              &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
+                  # Strikethrough and underline are not supported.
+                  # Absent values indicate that the field isn&#x27;t specified.
+                &quot;fontSize&quot;: 42, # The size of the font.
+                &quot;underline&quot;: True or False, # True if the text is underlined.
+                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                    # If foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+              },
+              &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
+                &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
+                &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;threeDimensional&quot;: True or False, # True if the pie is three dimensional.
+                &quot;pieHole&quot;: 3.14, # The size of the hole in the pie chart.
+                &quot;domain&quot;: { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+              },
+              &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
+                  # This field is optional.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+              },
+              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                  # for accessibility.
+              &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
+                  # axis labels, legend).  If a font is specified for a specific part of the
+                  # chart it will override this font name.
+              &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. # The title text format.
+                  # Strikethrough and underline are not supported.
+                  # Absent values indicate that the field isn&#x27;t specified.
+                &quot;fontSize&quot;: 42, # The size of the font.
+                &quot;underline&quot;: True or False, # True if the text is underlined.
+                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                    # If foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+              },
+              &quot;maximized&quot;: True or False, # True to make a chart fill the entire space in which it&#x27;s rendered with
+                  # minimum padding.  False to use the default padding.
+                  # (Not applicable to Geo and Org charts.)
+              &quot;titleTextPosition&quot;: { # Position settings for text. # The title text position.
+                  # This field is optional.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+              },
+              &quot;scorecardChart&quot;: { # A scorecard chart. Scorecard charts are used to highlight key performance # A scorecard chart specification.
+                  # indicators, known as KPIs, on the spreadsheet. A scorecard chart can
+                  # represent things like total sales, average cost, or a top selling item. You
+                  # can specify a single data value, or aggregate over a range of data.
+                  # Percentage or absolute difference from a baseline value can be highlighted,
+                  # like changes over time.
+                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                    # chart. This field is used only when number_format_source is set to
+                    # CUSTOM. This field is optional.
+                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                      # This field is optional.
+                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                      # This field is optional.
+                },
+                &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
+                    # This field is optional.
+                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                    # This field is optional.
+                &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
+                    # 10 can be used to divide all values in the chart by 10.
+                    # This field is optional.
+                &quot;keyValueData&quot;: { # The data included in a domain or series. # The data for scorecard key value.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;baselineValueData&quot;: { # The data included in a domain or series. # The data for scorecard baseline value.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
+                    # This field is needed only if baseline_value_data is specified.
+                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # If negative_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
+                      # Absent values indicate that the field isn&#x27;t specified.
+                    &quot;fontSize&quot;: 42, # The size of the font.
+                    &quot;underline&quot;: True or False, # True if the text is underlined.
+                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                        # If foreground_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                  },
+                  &quot;description&quot;: &quot;A String&quot;, # Description which is appended after the baseline value.
+                      # This field is optional.
+                  &quot;positiveColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # If positive_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                },
+                &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
+                      # Absent values indicate that the field isn&#x27;t specified.
+                    &quot;fontSize&quot;: 42, # The size of the font.
+                    &quot;underline&quot;: True or False, # True if the text is underlined.
+                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                        # If foreground_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                },
+              },
+              &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # If background_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
+              &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
+              &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
+                &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
+                    # If specific, the field must be a positive value.
+                &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
+                    # If specified, the field must be a positive value.
+                &quot;bubbleBorderColorStyle&quot;: { # A color value. # The bubble border color.
+                    # If bubble_border_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
+                    # ID are drawn in the same color. If bubble_sizes is specified then
+                    # this field must also be specified but may contain blank values.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;series&quot;: { # The data included in a domain or series. # The data contianing the bubble y-values.  These values locate the bubbles
+                    # in the chart vertically.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;bubbleLabels&quot;: { # The data included in a domain or series. # The data containing the bubble labels.  These do not need to be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the chart should be drawn.
+                &quot;domain&quot;: { # The data included in a domain or series. # The data containing the bubble x-values.  These values locate the bubbles
+                    # in the chart horizontally.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. # The format of the text inside the bubbles.
+                    # Underline and Strikethrough are not supported.
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                    # the bubbles at different sizes relative to each other.
+                    # If specified, group_ids must also be specified.  This field is
+                    # optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                    # 0 is fully transparent and 1 is fully opaque.
+              },
+            },
+          },
+        },
+        &quot;addSlicer&quot;: { # Adds a slicer to a sheet in the spreadsheet. # Adds a slicer.
+          &quot;slicer&quot;: { # A slicer in a sheet. # The slicer that should be added to the spreadsheet, including
+              # the position where it should be placed. The slicerId field is optional; if one is not set, an id
+              # will be randomly generated. (It is an error to specify the ID
+              # of a slicer that already exists.)
+            &quot;slicerId&quot;: 42, # The ID of the slicer.
+            &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                  # If not set, default to `True`.
+              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                  # If unspecified, defaults to `LEFT`
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
+                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
+                    # shown. Mutually exclusive with visible_foreground_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hidden_values -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                          # The value is parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                    },
+                  ],
+                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+                },
+                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
+                    # are shown. Mutually exclusive with visible_background_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
+                    # shown. This field is mutually exclusive with visible_foreground_color,
+                    # and must be set to an RGB-type color. If visible_background_color is
+                    # also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
+                    # are shown. This field is mutually exclusive with
+                    # visible_background_color, and must be set to an RGB-type color. If
+                    # visible_foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;hiddenValues&quot;: [ # Values that should be hidden.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. # The text format of title in the slicer.
+                  # Absent values indicate that the field isn&#x27;t specified.
+                &quot;fontSize&quot;: 42, # The size of the font.
+                &quot;underline&quot;: True or False, # True if the text is underlined.
+                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                    # If foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+              },
+              &quot;title&quot;: &quot;A String&quot;, # The title of the slicer.
+              &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the slicer.
+                  # If background_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+            },
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
+                # existing sheet. Also, width and height of slicer can be automatically
+                # adjusted to keep it within permitted limits.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
+          },
+        },
+        &quot;updateBorders&quot;: { # Updates the borders of a range. # Updates the borders in a range of cells.
+            # If a field is not set in the request, that means the border remains as-is.
+            # For example, with two subsequent UpdateBordersRequest:
+            #
+            #  1. range: A1:A5 `{ top: RED, bottom: WHITE }`
+            #  2. range: A1:A5 `{ left: BLUE }`
+            #
+            # That would result in A1:A5 having a borders of
+            # `{ top: RED, bottom: WHITE, left: BLUE }`.
+            # If you want to clear a border, explicitly set the style to
+            # NONE.
+          &quot;bottom&quot;: { # A border along a cell. # The border to put at the bottom of the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+          &quot;left&quot;: { # A border along a cell. # The border to put at the left of the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+          &quot;top&quot;: { # A border along a cell. # The border to put at the top of the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+          &quot;range&quot;: { # A range on a sheet. # The range whose borders should be updated.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;innerHorizontal&quot;: { # A border along a cell. # The horizontal border to put within the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+          &quot;innerVertical&quot;: { # A border along a cell. # The vertical border to put within the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+          &quot;right&quot;: { # A border along a cell. # The border to put at the right of the range.
+            &quot;width&quot;: 42, # The width of the border, in pixels.
+                # Deprecated; the width is determined by the &quot;style&quot; field.
+            &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                # If color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+          },
+        },
+        &quot;deleteDimension&quot;: { # Deletes the dimensions from the sheet. # Deletes rows or columns in a sheet.
+          &quot;range&quot;: { # A range along a single dimension on a sheet. # The dimensions to delete from the sheet.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+        &quot;updateConditionalFormatRule&quot;: { # Updates a conditional format rule at the given index, # Updates an existing conditional format rule.
+            # or moves a conditional format rule to another index.
+          &quot;rule&quot;: { # A rule describing a conditional format. # The rule that should replace the rule at the given index.
+            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
+              &quot;format&quot;: { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &amp;
+                  # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
+                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
+                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
+                      # the user&#x27;s locale will be used if necessary for the given type.
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
+                      # more information about the supported patterns.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
+                      # When writing, this field must be set.
+                },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
+                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
+                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                },
+                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
+                    # If background_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
+              },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
+            },
+            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+          &quot;sheetId&quot;: 42, # The sheet of the rule to move.  Required if new_index is set,
+              # unused otherwise.
+          &quot;newIndex&quot;: 42, # The zero-based new index the rule should end up at.
+          &quot;index&quot;: 42, # The zero-based index of the rule that should be replaced or moved.
+        },
+        &quot;mergeCells&quot;: { # Merges all cells in the range. # Merges cells together.
+          &quot;range&quot;: { # A range on a sheet. # The range of cells to merge.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;mergeType&quot;: &quot;A String&quot;, # How the cells should be merged.
+        },
+        &quot;duplicateFilterView&quot;: { # Duplicates a particular filter view. # Duplicates a filter view.
+          &quot;filterId&quot;: 42, # The ID of the filter being duplicated.
+        },
+        &quot;textToColumns&quot;: { # Splits a column of text into multiple columns, # Converts a column of text into many columns of text.
+            # based on a delimiter in each cell.
+          &quot;delimiterType&quot;: &quot;A String&quot;, # The delimiter type to use.
+          &quot;source&quot;: { # A range on a sheet. # The source data range.  This must span exactly one column.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter to use. Used only if delimiterType is
+              # CUSTOM.
+        },
+        &quot;setDataValidation&quot;: { # Sets a data validation rule to every cell in the range. # Sets data validation for one or more cells.
+            # To clear validation in a range, call this with no rule specified.
+          &quot;range&quot;: { # A range on a sheet. # The range the data validation rule should apply to.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;rule&quot;: { # A data validation rule. # The data validation rule to set on each cell in the range,
+              # or empty to clear the data validation in the range.
+            &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
+            &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                # BooleanConditions are used by conditional formatting,
+                # data validation, and the criteria in filters.
+              &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                  # on the condition type.  Some support zero values,
+                  # others one or two values,
+                  # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                { # The value of the condition.
+                  &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                      # Valid only if the type is
+                      # DATE_BEFORE,
+                      # DATE_AFTER,
+                      # DATE_ON_OR_BEFORE or
+                      # DATE_ON_OR_AFTER.
+                      #
+                      # Relative dates are not supported in data validation.
+                      # They are supported only in conditional formatting and
+                      # conditional filters.
+                  &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                      # The value is parsed as if the user typed into a cell.
+                      # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                },
+              ],
+              &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+            },
+            &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                # If true, &quot;List&quot; conditions will show a dropdown.
+            &quot;strict&quot;: True or False, # True if invalid data should be rejected.
+          },
+        },
+        &quot;updateDimensionProperties&quot;: { # Updates properties of dimensions within the specified range. # Updates dimensions&#x27; properties.
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `properties` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+          &quot;range&quot;: { # A range along a single dimension on a sheet. # The rows or columns to update.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+          &quot;properties&quot;: { # Properties about a dimension. # Properties to update.
+            &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
+                # This field is read-only.
+            &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
+            &quot;developerMetadata&quot;: [ # The developer metadata associated with a single row or column.
+              { # Developer metadata associated with a location or object in a spreadsheet.
+                  # Developer metadata may be used to associate arbitrary data with various
+                  # parts of a spreadsheet and will remain associated at those locations as they
+                  # move around and the spreadsheet is edited.  For example, if developer
+                  # metadata is associated with row 5 and another row is then subsequently
+                  # inserted above row 5, that original metadata will still be associated with
+                  # the row it was first associated with (what is now row 6). If the associated
+                  # object is deleted its metadata is deleted too.
+                &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+                    # same key.  Developer metadata must always have a key specified.
+                &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+                &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+                    # specified.
+                &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+                    # specified when metadata is created, otherwise one will be randomly
+                    # generated and assigned. Must be positive.
+                &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+                  &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+                  &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+                  &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+                  &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                      # a dimension. The specified DimensionRange must represent a single row
+                      # or column; it cannot be unbounded or span multiple rows or columns.
+                      # All indexes are zero-based.
+                      # Indexes are half open: the start index is inclusive
+                      # and the end index is exclusive.
+                      # Missing indexes indicate the range is unbounded on that side.
+                    &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                    &quot;sheetId&quot;: 42, # The sheet this span is on.
+                    &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                    &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+                  },
+                },
+              },
+            ],
+            &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+          },
+        },
+        &quot;addConditionalFormatRule&quot;: { # Adds a new conditional format rule at the given index. # Adds a new conditional format rule.
+            # All subsequent rules&#x27; indexes are incremented.
+          &quot;rule&quot;: { # A rule describing a conditional format. # The rule to add.
+            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
+              &quot;format&quot;: { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &amp;
+                  # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
+                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
+                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
+                      # the user&#x27;s locale will be used if necessary for the given type.
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
+                      # more information about the supported patterns.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
+                      # When writing, this field must be set.
+                },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
+                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
+                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                },
+                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
+                    # If background_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
+              },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
+            },
+            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+          &quot;index&quot;: 42, # The zero-based index where the rule should be inserted.
+        },
+        &quot;copyPaste&quot;: { # Copies data from the source to the destination. # Copies data from one area and pastes it to another.
+          &quot;pasteType&quot;: &quot;A String&quot;, # What kind of data to paste.
+          &quot;destination&quot;: { # A range on a sheet. # The location to paste to. If the range covers a span that&#x27;s
+              # a multiple of the source&#x27;s height or width, then the
+              # data will be repeated to fill in the destination range.
+              # If the range is smaller than the source range, the entire
+              # source data will still be copied (beyond the end of the destination range).
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;source&quot;: { # A range on a sheet. # The source range to copy.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;pasteOrientation&quot;: &quot;A String&quot;, # How that data should be oriented when pasting.
+        },
+        &quot;updateDeveloperMetadata&quot;: { # A request to update properties of developer metadata. # Updates an existing developer metadata entry
+            # Updates the properties of the developer metadata selected by the filters to
+            # the values provided in the DeveloperMetadata resource.  Callers must
+            # specify the properties they wish to update in the fields parameter, as well
+            # as specify at least one DataFilter matching the metadata they wish to
+            # update.
+          &quot;dataFilters&quot;: [ # The filters matching the developer metadata entries to update.
+            { # Filter that describes what data should be selected or returned from a
+                # request.
+              &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
+                  # described by this DeveloperMetadataLookup.
+                  # example, if only a metadata ID is specified this considers the
+                  # DeveloperMetadata with that particular unique ID. If a metadata key is
+                  # specified, this considers all developer metadata with that key.  If a
+                  # key, visibility, and location type are all specified, this considers all
+                  # developer metadata with that key and visibility that are associated with a
+                  # location of that type.  In general, this
+                  # selects all DeveloperMetadata that matches the intersection of all the
+                  # specified fields; any field or combination of fields may be specified.
+                &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
+                    # associated with locations of the specified type.  For example, when this
+                    # field is specified as ROW this lookup
+                    # only considers developer metadata associated on rows.  If the field is left
+                    # unspecified, all location types are considered.  This field cannot be
+                    # specified as SPREADSHEET when
+                    # the locationMatchingStrategy
+                    # is specified as INTERSECTING or when the
+                    # metadataLocation is specified as a
+                    # non-spreadsheet location: spreadsheet metadata cannot intersect any other
+                    # developer metadata location.  This field also must be left unspecified when
+                    # the locationMatchingStrategy
+                    # is specified as EXACT.
+                &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                    # DeveloperMetadata.metadata_key.
+                &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
+                    # specified as EXACT, only developer metadata associated on the exact
+                    # location specified is matched.  If this field is specified to INTERSECTING,
+                    # developer metadata associated on intersecting locations is also
+                    # matched.  If left unspecified, this field assumes a default value of
+                    # INTERSECTING.
+                    # If this field is specified, a metadataLocation
+                    # must also be specified.
+                &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
+                    # the specified location.  This field either matches exact locations or all
+                    # intersecting locations according the specified
+                    # locationMatchingStrategy.
+                  &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+                  &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+                  &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+                  &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                      # a dimension. The specified DimensionRange must represent a single row
+                      # or column; it cannot be unbounded or span multiple rows or columns.
+                      # All indexes are zero-based.
+                      # Indexes are half open: the start index is inclusive
+                      # and the end index is exclusive.
+                      # Missing indexes indicate the range is unbounded on that side.
+                    &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                    &quot;sheetId&quot;: 42, # The sheet this span is on.
+                    &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                    &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+                  },
+                },
+                &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
+                    # DeveloperMetadata.metadata_id.
+                &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                    # DeveloperMetadata.visibility.  If left unspecified, all developer
+                    # metadata visibile to the requesting project is considered.
+                &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                    # DeveloperMetadata.metadata_value.
+              },
+              &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
+              &quot;gridRange&quot;: { # A range on a sheet. # Selects data that matches the range described by the GridRange.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            },
+          ],
+          &quot;developerMetadata&quot;: { # Developer metadata associated with a location or object in a spreadsheet. # The value that all metadata matched by the data filters will be updated to.
+              # Developer metadata may be used to associate arbitrary data with various
+              # parts of a spreadsheet and will remain associated at those locations as they
+              # move around and the spreadsheet is edited.  For example, if developer
+              # metadata is associated with row 5 and another row is then subsequently
+              # inserted above row 5, that original metadata will still be associated with
+              # the row it was first associated with (what is now row 6). If the associated
+              # object is deleted its metadata is deleted too.
+            &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+                # same key.  Developer metadata must always have a key specified.
+            &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+            &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+                # specified.
+            &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+                # specified when metadata is created, otherwise one will be randomly
+                # generated and assigned. Must be positive.
+            &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+              &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+              &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+              &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+              &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                  # a dimension. The specified DimensionRange must represent a single row
+                  # or column; it cannot be unbounded or span multiple rows or columns.
+                  # All indexes are zero-based.
+                  # Indexes are half open: the start index is inclusive
+                  # and the end index is exclusive.
+                  # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                &quot;sheetId&quot;: 42, # The sheet this span is on.
+                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+              },
+            },
+          },
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `developerMetadata` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+        },
+        &quot;addNamedRange&quot;: { # Adds a named range to the spreadsheet. # Adds a named range.
+          &quot;namedRange&quot;: { # A named range. # The named range to add. The namedRangeId
+              # field is optional; if one is not set, an id will be randomly generated. (It
+              # is an error to specify the ID of a range that already exists.)
+            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+            &quot;range&quot;: { # A range on a sheet. # The range this represents.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        &quot;updateEmbeddedObjectPosition&quot;: { # Update an embedded object&#x27;s position (such as a moving or resizing a # Updates an embedded object&#x27;s (e.g. chart, image) position.
+            # chart or image).
+          &quot;newPosition&quot;: { # The position of an embedded object such as a chart. # An explicit position to move the embedded object to.
+              # If newPosition.sheetId is set,
+              # a new sheet with that ID will be created.
+              # If newPosition.newSheet is set to true,
+              # a new sheet will be created with an ID that will be chosen for you.
+            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                  # All indexes are zero-based.
+                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+              },
+              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                  # from the anchor cell.
+            },
+            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                # is chosen for you. Used only when writing.
+            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                # is on its own sheet. Must be non-negative.
+          },
+          &quot;fields&quot;: &quot;A String&quot;, # The fields of OverlayPosition
+              # that should be updated when setting a new position. Used only if
+              # newPosition.overlayPosition
+              # is set, in which case at least one field must
+              # be specified.  The root `newPosition.overlayPosition` is implied and
+              # should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
+          &quot;objectId&quot;: 42, # The ID of the object to moved.
+        },
+        &quot;deleteDimensionGroup&quot;: { # Deletes a group over the specified range by decrementing the depth of the # Deletes a group over the specified range.
+            # dimensions in the range.
+            #
+            # For example, assume the sheet has a depth-1 group over B:E and a depth-2
+            # group over C:D. Deleting a group over D:E leaves the sheet with a
+            # depth-1 group over B:D and a depth-2 group over C:C.
+          &quot;range&quot;: { # A range along a single dimension on a sheet. # The range of the group to be deleted.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+        &quot;randomizeRange&quot;: { # Randomizes the order of the rows in a range. # Randomizes the order of the rows in a range.
+          &quot;range&quot;: { # A range on a sheet. # The range to randomize.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+        },
         &quot;appendCells&quot;: { # Adds new cells after the last row with data in a sheet, # Appends cells after the last row with data in a sheet.
             # inserting new rows into the sheet if necessary.
-          &quot;fields&quot;: &quot;A String&quot;, # The fields of CellData that should be updated.
-              # At least one field must be specified.
-              # The root is the CellData; &#x27;row.values.&#x27; should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
           &quot;rows&quot;: [ # The data to append.
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
+                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                      # This is the value as it&#x27;s shown to the user.
+                      # This field is read-only.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                       # is computed dynamically based on its data, grouping, filters, values,
                       # etc. Only the top-left cell of the pivot table contains the pivot table
                       # definition. The other cells will contain the calculated values of the
                       # results of the pivot in their effective_value fields.
-                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
                       { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
                         &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                             # This is only valid for row groupings and is ignored by columns.
                             #
@@ -207,13 +18714,6 @@
                             &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -222,6 +18722,13 @@
                               &quot;numberValue&quot;: 3.14, # Represents a double value.
                                   # Note: Dates, Times and DateTimes are represented as doubles in
                                   # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                             },
                           },
                         ],
@@ -337,13 +18844,6 @@
                                     # group within a given ManualRule. Items that do not appear in any
                                     # group will appear on their own.
                                   { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -352,17 +18852,17 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 ],
                                 &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                     # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -371,6 +18871,13 @@
                                   &quot;numberValue&quot;: 3.14, # Represents a double value.
                                       # Note: Dates, Times and DateTimes are represented as doubles in
                                       # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 },
                               },
                             ],
@@ -394,6 +18901,303 @@
                             #     +--------------+---------+-------+
                             #     | Grand Total  |    1110 |   636 |
                             #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
+                      },
+                    ],
+                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                        # or vertically (as rows).
+                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                        #
+                        # The filters are applied before aggregating data into the pivot table.
+                        # The map&#x27;s key is the column offset of the source range that you want to
+                        # filter, and the value is the criteria for that column.
+                        #
+                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                        # for column `C`, whereas the key `1` is for column `D`.
+                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                          &quot;A String&quot;,
+                        ],
+                      },
+                    },
+                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                            # This is only valid for row groupings and is ignored by columns.
+                            #
+                            # By default, we minimize repitition of headings by not showing higher
+                            # level headings where they are the same. For example, even though the
+                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                            # it is redundant with previous rows. Setting repeat_headings to true
+                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                            #
+                            #     +--------------+
+                            #     | Q1     | Jan |
+                            #     |        | Feb |
+                            #     |        | Mar |
+                            #     +--------+-----+
+                            #     | Q1 Total     |
+                            #     +--------------+
+                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          },
+                        ],
+                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
+                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                            # in the source data column rather than breaking out each individual value.
+                            # Only one PivotGroup with a group rule may be added for each column in
+                            # the source data, though on any given column you may add both a
+                            # PivotGroup that has a rule and a PivotGroup that does not.
+                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                              # buckets of a constant size. All values from HistogramRule.start to
+                              # HistogramRule.end are placed into groups of size
+                              # HistogramRule.interval. In addition, all values below
+                              # HistogramRule.start are placed in one group, and all values above
+                              # HistogramRule.end are placed in another. Only
+                              # HistogramRule.interval is required, though if HistogramRule.start
+                              # and HistogramRule.end are both provided, HistogramRule.start must
+                              # be less than HistogramRule.end. For example, a pivot table showing
+                              # average purchase amount by age that has 50+ rows:
+                              #
+                              #     +-----+-------------------+
+                              #     | Age | AVERAGE of Amount |
+                              #     +-----+-------------------+
+                              #     | 16  |            $27.13 |
+                              #     | 17  |             $5.24 |
+                              #     | 18  |            $20.15 |
+                              #     ...
+                              #     +-----+-------------------+
+                              # could be turned into a pivot table that looks like the one below by
+                              # applying a histogram group rule with a HistogramRule.start of 25,
+                              # an HistogramRule.interval of 20, and an HistogramRule.end
+                              # of 65.
+                              #
+                              #     +-------------+-------------------+
+                              #     | Grouped Age | AVERAGE of Amount |
+                              #     +-------------+-------------------+
+                              #     | &lt; 25        |            $19.34 |
+                              #     | 25-45       |            $31.43 |
+                              #     | 45-65       |            $35.87 |
+                              #     | &gt; 65        |            $27.55 |
+                              #     +-------------+-------------------+
+                              #     | Grand Total |            $29.12 |
+                              #     +-------------+-------------------+
+                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                # of constant size. Values below start are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                # of constant size. Values above end are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                          },
+                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                              # buckets based on selected parts of their date or time values. For example,
+                              # consider a pivot table showing sales transactions by date:
+                              #
+                              #     +----------+--------------+
+                              #     | Date     | SUM of Sales |
+                              #     +----------+--------------+
+                              #     | 1/1/2017 |      $621.14 |
+                              #     | 2/3/2017 |      $708.84 |
+                              #     | 5/8/2017 |      $326.84 |
+                              #     ...
+                              #     +----------+--------------+
+                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                              # results in the following pivot table.
+                              #
+                              #     +--------------+--------------+
+                              #     | Grouped Date | SUM of Sales |
+                              #     +--------------+--------------+
+                              #     | 2017-Jan     |   $53,731.78 |
+                              #     | 2017-Feb     |   $83,475.32 |
+                              #     | 2017-Mar     |   $94,385.05 |
+                              #     ...
+                              #     +--------------+--------------+
+                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                          },
+                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                              # buckets with names of your choosing. For example, a pivot table that
+                              # aggregates population by state:
+                              #
+                              #     +-------+-------------------+
+                              #     | State | SUM of Population |
+                              #     +-------+-------------------+
+                              #     | AK    |               0.7 |
+                              #     | AL    |               4.8 |
+                              #     | AR    |               2.9 |
+                              #     ...
+                              #     +-------+-------------------+
+                              # could be turned into a pivot table that aggregates population by time zone
+                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                              # Note that a similar effect could be achieved by adding a time zone column
+                              # to the source data and adjusting the pivot table.
+                              #
+                              #     +-----------+-------------------+
+                              #     | Time Zone | SUM of Population |
+                              #     +-----------+-------------------+
+                              #     | Central   |             106.3 |
+                              #     | Eastern   |             151.9 |
+                              #     | Mountain  |              17.4 |
+                              #     ...
+                              #     +-----------+-------------------+
+                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                # that map to each group name.
+                              { # A group name and a list of items from the source data that should be placed
+                                  # in the group with this name.
+                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                    # item may be a string, number, or boolean. Items may appear in at most one
+                                    # group within a given ManualRule. Items that do not appear in any
+                                    # group will appear on their own.
+                                  { # The kinds of value that a cell in a spreadsheet can have.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                ],
+                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                    # ManualRule must have a unique group name.
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              },
+                            ],
+                          },
+                        },
+                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                            # example, in the following pivot table, the row label is `Region` (which
+                            # could be renamed to `State`) and the column label is `Product` (which
+                            # could be renamed `Item`). Pivot tables created before December 2017 do
+                            # not have header labels. If you&#x27;d like to add header labels to an existing
+                            # pivot table, please delete the existing pivot table and then create a new
+                            # pivot table with same parameters.
+                            #
+                            #     +--------------+---------+-------+
+                            #     | SUM of Units | Product |       |
+                            #     | Region       | Pen     | Paper |
+                            #     +--------------+---------+-------+
+                            #     | New York     |     345 |    98 |
+                            #     | Oregon       |     234 |   123 |
+                            #     | Tennessee    |     531 |   415 |
+                            #     +--------------+---------+-------+
+                            #     | Grand Total  |    1110 |   636 |
+                            #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
                       },
                     ],
                     &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -425,20 +19229,14 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                     &quot;values&quot;: [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
-                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                            # the result of a calculation with another pivot value. For example, if
-                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                            # pivot values are displayed as the percentage of the grand total. In
-                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                            # pivot table.
                         &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                             #
                             # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -453,275 +19251,15 @@
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # is not supported.
                         &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                            # the result of a calculation with another pivot value. For example, if
+                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                            # pivot values are displayed as the percentage of the grand total. In
+                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                            # pivot table.
                       },
                     ],
-                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                      { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
-                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                            # This is only valid for row groupings and is ignored by columns.
-                            #
-                            # By default, we minimize repitition of headings by not showing higher
-                            # level headings where they are the same. For example, even though the
-                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                            # it is redundant with previous rows. Setting repeat_headings to true
-                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                            #
-                            #     +--------------+
-                            #     | Q1     | Jan |
-                            #     |        | Feb |
-                            #     |        | Mar |
-                            #     +--------+-----+
-                            #     | Q1 Total     |
-                            #     +--------------+
-                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                          { # Metadata about a value in a pivot grouping.
-                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                # (Note that formulaValue is not valid,
-                                #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          },
-                        ],
-                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this group refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
-                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                            # in the source data column rather than breaking out each individual value.
-                            # Only one PivotGroup with a group rule may be added for each column in
-                            # the source data, though on any given column you may add both a
-                            # PivotGroup that has a rule and a PivotGroup that does not.
-                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                              # buckets of a constant size. All values from HistogramRule.start to
-                              # HistogramRule.end are placed into groups of size
-                              # HistogramRule.interval. In addition, all values below
-                              # HistogramRule.start are placed in one group, and all values above
-                              # HistogramRule.end are placed in another. Only
-                              # HistogramRule.interval is required, though if HistogramRule.start
-                              # and HistogramRule.end are both provided, HistogramRule.start must
-                              # be less than HistogramRule.end. For example, a pivot table showing
-                              # average purchase amount by age that has 50+ rows:
-                              #
-                              #     +-----+-------------------+
-                              #     | Age | AVERAGE of Amount |
-                              #     +-----+-------------------+
-                              #     | 16  |            $27.13 |
-                              #     | 17  |             $5.24 |
-                              #     | 18  |            $20.15 |
-                              #     ...
-                              #     +-----+-------------------+
-                              # could be turned into a pivot table that looks like the one below by
-                              # applying a histogram group rule with a HistogramRule.start of 25,
-                              # an HistogramRule.interval of 20, and an HistogramRule.end
-                              # of 65.
-                              #
-                              #     +-------------+-------------------+
-                              #     | Grouped Age | AVERAGE of Amount |
-                              #     +-------------+-------------------+
-                              #     | &lt; 25        |            $19.34 |
-                              #     | 25-45       |            $31.43 |
-                              #     | 45-65       |            $35.87 |
-                              #     | &gt; 65        |            $27.55 |
-                              #     +-------------+-------------------+
-                              #     | Grand Total |            $29.12 |
-                              #     +-------------+-------------------+
-                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                # of constant size. Values below start are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                # of constant size. Values above end are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                          },
-                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                              # buckets based on selected parts of their date or time values. For example,
-                              # consider a pivot table showing sales transactions by date:
-                              #
-                              #     +----------+--------------+
-                              #     | Date     | SUM of Sales |
-                              #     +----------+--------------+
-                              #     | 1/1/2017 |      $621.14 |
-                              #     | 2/3/2017 |      $708.84 |
-                              #     | 5/8/2017 |      $326.84 |
-                              #     ...
-                              #     +----------+--------------+
-                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                              # results in the following pivot table.
-                              #
-                              #     +--------------+--------------+
-                              #     | Grouped Date | SUM of Sales |
-                              #     +--------------+--------------+
-                              #     | 2017-Jan     |   $53,731.78 |
-                              #     | 2017-Feb     |   $83,475.32 |
-                              #     | 2017-Mar     |   $94,385.05 |
-                              #     ...
-                              #     +--------------+--------------+
-                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                          },
-                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                              # buckets with names of your choosing. For example, a pivot table that
-                              # aggregates population by state:
-                              #
-                              #     +-------+-------------------+
-                              #     | State | SUM of Population |
-                              #     +-------+-------------------+
-                              #     | AK    |               0.7 |
-                              #     | AL    |               4.8 |
-                              #     | AR    |               2.9 |
-                              #     ...
-                              #     +-------+-------------------+
-                              # could be turned into a pivot table that aggregates population by time zone
-                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                              # Note that a similar effect could be achieved by adding a time zone column
-                              # to the source data and adjusting the pivot table.
-                              #
-                              #     +-----------+-------------------+
-                              #     | Time Zone | SUM of Population |
-                              #     +-----------+-------------------+
-                              #     | Central   |             106.3 |
-                              #     | Eastern   |             151.9 |
-                              #     | Mountain  |              17.4 |
-                              #     ...
-                              #     +-----------+-------------------+
-                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                # that map to each group name.
-                              { # A group name and a list of items from the source data that should be placed
-                                  # in the group with this name.
-                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                    # item may be a string, number, or boolean. Items may appear in at most one
-                                    # group within a given ManualRule. Items that do not appear in any
-                                    # group will appear on their own.
-                                  { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                ],
-                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                    # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              },
-                            ],
-                          },
-                        },
-                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                            # example, in the following pivot table, the row label is `Region` (which
-                            # could be renamed to `State`) and the column label is `Product` (which
-                            # could be renamed `Item`). Pivot tables created before December 2017 do
-                            # not have header labels. If you&#x27;d like to add header labels to an existing
-                            # pivot table, please delete the existing pivot table and then create a new
-                            # pivot table with same parameters.
-                            #
-                            #     +--------------+---------+-------+
-                            #     | SUM of Units | Product |       |
-                            #     | Region       | Pen     | Paper |
-                            #     +--------------+---------+-------+
-                            #     | New York     |     345 |    98 |
-                            #     | Oregon       |     234 |   123 |
-                            #     | Tennessee    |     531 |   415 |
-                            #     +--------------+---------+-------+
-                            #     | Grand Total  |    1110 |   636 |
-                            #     +--------------+---------+-------+
-                      },
-                    ],
-                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                        # or vertically (as rows).
-                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                        #
-                        # The filters are applied before aggregating data into the pivot table.
-                        # The map&#x27;s key is the column offset of the source range that you want to
-                        # filter, and the value is the criteria for that column.
-                        #
-                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                        # for column `C`, whereas the key `1` is for column `D`.
-                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                          &quot;A String&quot;,
-                        ],
-                      },
-                    },
                   },
-                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                      # This is the value as it&#x27;s shown to the user.
-                      # This field is read-only.
                   &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                       # on user entered strings, not formulas, bools, or numbers.
                       # Runs start at specific indexes in the text and continue until the next
@@ -860,6 +19398,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -871,12 +19412,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -996,6 +19534,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -1007,11 +19548,8 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
@@ -1022,13 +19560,6 @@
                       # the calculated value.  For cells with literals, this is
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -1037,17 +19568,165 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
+                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                       # This includes the results of applying any conditional formatting and,
                       # if the cell contains a formula, the computed number format.
                       # If the effective format is the default format, effective format will
                       # not be written.
                       # This field is read-only.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -1056,6 +19735,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -1182,6 +19862,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -1193,9 +19876,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -1317,6 +19997,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -1328,9 +20011,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -1459,6 +20139,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -1470,9 +20153,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -1594,6 +20274,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -1605,9 +20288,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -1736,6 +20416,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -1747,9 +20430,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -1871,6 +20551,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -1882,9 +20565,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -2013,6 +20693,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -2024,9 +20707,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -2148,6 +20828,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -2159,9 +20842,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -2293,6 +20973,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -2304,12 +20987,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -2429,6 +21109,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -2440,35 +21123,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -2591,6 +21250,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -2602,161 +21264,177 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
-                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                       #
                       # When writing, the new format will be merged with the existing format.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -2765,6 +21443,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -2891,6 +21570,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -2902,9 +21584,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -3026,6 +21705,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -3037,9 +21719,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -3168,6 +21847,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -3179,9 +21861,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -3303,6 +21982,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -3314,9 +21996,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -3445,6 +22124,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -3456,9 +22138,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -3580,6 +22259,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -3591,9 +22273,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -3722,6 +22401,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -3733,9 +22415,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -3857,6 +22536,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -3868,9 +22550,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -4002,6 +22681,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -4013,12 +22695,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -4138,6 +22817,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -4149,35 +22831,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -4300,6 +22958,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -4311,163 +22972,33 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
                   &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -4476,13 +23007,17 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
                   &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                       #
                       # When writing, the new data validation rule will overwrite any prior rule.
-                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                        # If true, &quot;List&quot; conditions will show a dropdown.
-                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                     &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
@@ -4509,6 +23044,9 @@
                       ],
                       &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                     },
+                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                        # If true, &quot;List&quot; conditions will show a dropdown.
+                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                   },
                   &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                       # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -4519,6 +23057,10 @@
             },
           ],
           &quot;sheetId&quot;: 42, # The sheet ID to append the data to.
+          &quot;fields&quot;: &quot;A String&quot;, # The fields of CellData that should be updated.
+              # At least one field must be specified.
+              # The root is the CellData; &#x27;row.values.&#x27; should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
         },
         &quot;deleteBanding&quot;: { # Removes the banded range with the given ID from the spreadsheet. # Removes a banded range
           &quot;bandedRangeId&quot;: 42, # The ID of the banded range to delete.
@@ -4585,11 +23127,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4646,11 +23188,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4708,11 +23250,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4769,11 +23311,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4834,11 +23376,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -4980,6 +23522,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -4991,9 +23536,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -5045,11 +23587,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -5174,6 +23716,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -5185,9 +23730,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
               ],
@@ -5204,142 +23746,254 @@
                   # be added to the first or last buckets instead of their own buckets.
                   # Must be between 0.0 and 0.5.
             },
-            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                # Not applicable to Org charts.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
             &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+              &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                  # have the same color as cells with this value. If not specified, defaults
+                  # to the actual minimum value from color_data, or the minimum value from
+                  # size_data if color_data is not specified.
+              &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                  # have the same color as cells with this value. If not specified, defaults
+                  # to the actual maximum value from color_data, or the maximum value from
+                  # size_data if color_data is not specified.
+              &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                  # This field is optional. If not specified, size_data is used to
+                  # determine background colors. If specified, the data is expected to be
+                  # numeric. color_scale will determine how the values in this data map to
+                  # data cell background colors.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                  # expected to be numeric. The cells corresponding to non-numeric or missing
+                  # data will not be rendered. If color_data is not specified, this data
+                  # is used to determine data cell background colors as well.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
               &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                   # on the treemap chart. These levels are not interactive and are shown
                   # without their labels. Defaults to 0 if not specified.
@@ -5473,6 +24127,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -5484,12 +24141,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -5609,6 +24263,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -5620,11 +24277,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -5644,6 +24298,146 @@
                   # Cells with missing or non-numeric color values will have
                   # noDataColor as their background
                   # color.
+                &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                    # to maxValue. Defaults to #109618 if not
+                    # specified.
+                    # If max_value_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
                 &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                     # them. Defaults to #000000 if not specified.
                     # If no_data_color is also set, this field takes precedence.
@@ -5767,6 +24561,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -5778,9 +24575,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -5904,6 +24698,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -5915,9 +24712,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                     # minValue. Defaults to #dc3912 if not
@@ -6043,6 +24837,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -6054,9 +24851,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -6181,6 +24975,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -6192,144 +24989,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                    # them. Defaults to #000000 if not specified.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                     # to maxValue. Defaults to #109618 if not
@@ -6452,6 +25111,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -6463,9 +25125,141 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                    # them. Defaults to #000000 if not specified.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
                   &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                   &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
                 },
                 &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                     # minValue and
@@ -6592,6 +25386,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -6603,149 +25400,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                    # to maxValue. Defaults to #109618 if not
-                    # specified.
-                    # If max_value_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
               },
@@ -6868,6 +25522,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -6879,9 +25536,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                   # If header_color is also set, this field takes precedence.
@@ -7005,6 +25659,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -7016,334 +25673,469 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                  # have the same color as cells with this value. If not specified, defaults
-                  # to the actual minimum value from color_data, or the minimum value from
-                  # size_data if color_data is not specified.
-              &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                  # have the same color as cells with this value. If not specified, defaults
-                  # to the actual maximum value from color_data, or the maximum value from
-                  # size_data if color_data is not specified.
-              &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                  # This field is optional. If not specified, size_data is used to
-                  # determine background colors. If specified, the data is expected to be
-                  # numeric. color_scale will determine how the values in this data map to
-                  # data cell background colors.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                  # expected to be numeric. The cells corresponding to non-numeric or missing
-                  # data will not be rendered. If color_data is not specified, this data
-                  # is used to determine data cell background colors as well.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
+            },
+            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                # Not applicable to Org charts.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
             },
             &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                 # See BasicChartType for the list of all
                 # charts this supports.
                 # of charts this supports.
+              &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                  # Applies to Line charts.
+              &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                  # If not set, Google Sheets will guess how many rows are headers based
+                  # on the data.
+                  #
+                  # (Note that BasicChartAxis.title may override the axis title
+                  #  inferred from the header values.)
+              &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                  # chart area.
+              &quot;axis&quot;: [ # The axis on the chart.
+                { # An axis of the chart.
+                    # A chart may not have more than one axis per
+                    # axis position.
+                  &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                      # values in an axis).
+                    &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                        # automatically determine a maximum value that looks good for the data.
+                    &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                        # automatically determine a minimum value that looks good for the data.
+                    &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                  },
+                  &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                      # from headers of the data.
+                  &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                  &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                      # Only valid if the axis is not associated with the domain.
+                      # Absent values indicate that the field isn&#x27;t specified.
+                    &quot;fontSize&quot;: 42, # The size of the font.
+                    &quot;underline&quot;: True or False, # True if the text is underlined.
+                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                        # If foreground_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                  },
+                  &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                },
+              ],
+              &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+              &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                  # segments of lines in a line chart will be missing).  To eliminate these
+                  # gaps set this to true.
+                  # Applies to Line, Area, and Combo charts.
               &quot;series&quot;: [ # The data this chart is visualizing.
                 { # A single series of data in a chart.
                     # For example, if charting stock prices over time, multiple series may exist,
                     # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                  &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                      # chartType is AREA,
-                      # LINE, or SCATTER.
-                      # COMBO charts are also supported if the
-                      # series chart type is
-                      # AREA or LINE.
-                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                    &quot;width&quot;: 42, # The thickness of the line, in px.
-                  },
                   &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                       # this series.  If empty, a default color is used.
                       # If color is also set, this field takes precedence.
@@ -7467,6 +26259,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -7478,9 +26273,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -7616,6 +26408,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -7627,9 +26422,73 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  },
+                  &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                      # chartType is AREA,
+                      # LINE, or SCATTER.
+                      # COMBO charts are also supported if the
+                      # series chart type is
+                      # AREA or LINE.
+                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                    &quot;width&quot;: 42, # The thickness of the line, in px.
                   },
                 },
               ],
@@ -7692,11 +26551,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -7704,473 +26563,10 @@
                   &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                 },
               ],
-              &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                  # Applies to Line charts.
-              &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                  # If not set, Google Sheets will guess how many rows are headers based
-                  # on the data.
-                  #
-                  # (Note that BasicChartAxis.title may override the axis title
-                  #  inferred from the header values.)
-              &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                  # chart area.
-              &quot;axis&quot;: [ # The axis on the chart.
-                { # An axis of the chart.
-                    # A chart may not have more than one axis per
-                    # axis position.
-                  &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                      # from headers of the data.
-                  &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                  &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                      # Only valid if the axis is not associated with the domain.
-                      # Absent values indicate that the field isn&#x27;t specified.
-                    &quot;fontSize&quot;: 42, # The size of the font.
-                    &quot;underline&quot;: True or False, # True if the text is underlined.
-                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                        # If foreground_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
-                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
-                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                  },
-                  &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                      # values in an axis).
-                    &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                        # automatically determine a minimum value that looks good for the data.
-                    &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                    &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                        # automatically determine a maximum value that looks good for the data.
-                  },
-                },
-              ],
-              &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-              &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                  # segments of lines in a line chart will be missing).  To eliminate these
-                  # gaps set this to true.
-                  # Applies to Line, Area, and Combo charts.
             },
-            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
             &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-              &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-              &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-              &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                &quot;width&quot;: 42, # The thickness of the line, in px.
-              },
               &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                 { # A single series of data for a waterfall chart.
-                  &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                      # subtotals are defined is not significant. Only one subtotal may be
-                      # defined for each data point.
-                    { # A custom subtotal column for a waterfall chart series.
-                      &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                          # data_is_subtotal is true, the data point at this index is the
-                          # subtotal. Otherwise, the subtotal appears after the data point with
-                          # this index. A series can have multiple subtotals at arbitrary indices,
-                          # but subtotals do not affect the indices of the data points. For
-                          # example, if a series has three data points, their indices will always
-                          # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                          # what data points they are associated with.
-                      &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                          # the subtotal will be computed and appear after the data point.
-                      &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                    },
-                  ],
-                  &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                      # a subtotal column will appear at the end of each series. Setting this
-                      # field to true will hide that subtotal column for this series.
-                  &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
                   &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                     &quot;colorStyle&quot;: { # A color value. # The color of the column.
                         # If color is also set, this field takes precedence.
@@ -8294,6 +26690,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -8305,9 +26704,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -8429,6 +26825,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -8440,9 +26839,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
@@ -8569,6 +26965,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -8580,9 +26979,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -8704,6 +27100,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -8715,9 +27114,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
@@ -8844,6 +27240,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -8855,9 +27254,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -8979,6 +27375,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -8990,15 +27389,895 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
+                  &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                      # subtotals are defined is not significant. Only one subtotal may be
+                      # defined for each data point.
+                    { # A custom subtotal column for a waterfall chart series.
+                      &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                          # data_is_subtotal is true, the data point at this index is the
+                          # subtotal. Otherwise, the subtotal appears after the data point with
+                          # this index. A series can have multiple subtotals at arbitrary indices,
+                          # but subtotals do not affect the indices of the data points. For
+                          # example, if a series has three data points, their indices will always
+                          # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                          # what data points they are associated with.
+                      &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                          # the subtotal will be computed and appear after the data point.
+                      &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                    },
+                  ],
+                  &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                      # a subtotal column will appear at the end of each series. Setting this
+                      # field to true will hide that subtotal column for this series.
                 },
               ],
               &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+              &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+              },
+              &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+              &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+              &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                &quot;width&quot;: 42, # The thickness of the line, in px.
+              },
+            },
+            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+            &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                # Org charts require a unique set of labels in labels and may
+                # optionally include parent_labels and tooltips.
+                # parent_labels contain, for each node, the label identifying the parent
+                # node.  tooltips contain, for each node, an optional tooltip.
+                #
+                # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+              &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                  # If node_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                  # results in no tooltip being displayed for the node.
+                  # This field is optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                  # must be unique.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                  # A blank value indicates that the node has no parent and is a top-level
+                  # node.
+                  # This field is optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                  # If selected_node_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
             },
             &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                 # Strikethrough and underline are not supported.
@@ -9127,6 +28406,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -9138,12 +28420,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -9263,6 +28542,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -9274,751 +28556,11 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
-            &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                # Org charts require a unique set of labels in labels and may
-                # optionally include parent_labels and tooltips.
-                # parent_labels contain, for each node, the label identifying the parent
-                # node.  tooltips contain, for each node, an optional tooltip.
-                #
-                # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                  # A blank value indicates that the node has no parent and is a top-level
-                  # node.
-                  # This field is optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                  # If selected_node_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                  # If node_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                  # results in no tooltip being displayed for the node.
-                  # This field is optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-              &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                  # must be unique.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-            },
             &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
               &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
               &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -10070,11 +28612,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -10130,22 +28672,22 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
               },
             },
-            &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                # for accessibility.
             &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                 # This field is optional.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
+            &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                # for accessibility.
             &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                 # axis labels, legend).  If a font is specified for a specific part of the
                 # chart it will override this font name.
@@ -10276,6 +28818,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -10287,12 +28832,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -10412,6 +28954,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -10423,11 +28968,8 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
@@ -10444,10 +28986,18 @@
                 # can specify a single data value, or aggregate over a range of data.
                 # Percentage or absolute difference from a baseline value can be highlighted,
                 # like changes over time.
-              &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                  # This field is optional.
+              &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                  # chart. This field is used only when number_format_source is set to
+                  # CUSTOM. This field is optional.
+                &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                    # This field is optional.
+                &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                    # This field is optional.
+              },
               &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                   # This field is optional.
+              &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                  # This field is optional.
               &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                   # 10 can be used to divide all values in the chart by 10.
                   # This field is optional.
@@ -10500,11 +29050,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -10559,17 +29109,430 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
               },
               &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                   # This field is needed only if baseline_value_data is specified.
+                &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                    # key value. This field is optional.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                    # key value. This field is optional.
+                    # If negative_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                    # This field is optional. If not specified, default positioning is used.
+                  &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                },
+                &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                    # key value. This field is optional.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                 &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                     # Absent values indicate that the field isn&#x27;t specified.
@@ -10697,6 +29660,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -10708,12 +29674,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -10833,6 +29796,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -10844,11 +29810,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -10977,6 +29940,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -10988,424 +29954,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                    # key value. This field is optional.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                    # key value. This field is optional.
-                    # If negative_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                    # This field is optional. If not specified, default positioning is used.
-                  &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                },
-                &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                    # key value. This field is optional.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
               &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                 &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -11534,6 +30084,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -11545,12 +30098,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -11670,6 +30220,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -11681,11 +30234,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -11694,14 +30244,6 @@
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
               },
-              &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                  # chart. This field is used only when number_format_source is set to
-                  # CUSTOM. This field is optional.
-                &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                    # This field is optional.
-                &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                    # This field is optional.
-              },
             },
             &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                 # Not applicable to Org charts.
@@ -11826,6 +30368,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -11837,77 +30382,11 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
             &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
             &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-              &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                  # 0 is fully transparent and 1 is fully opaque.
-              &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                  # the bubbles at different sizes relative to each other.
-                  # If specified, group_ids must also be specified.  This field is
-                  # optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
               &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                   # If specific, the field must be a positive value.
               &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -12029,6 +30508,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -12040,9 +30522,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                   # If specified, the field must be a positive value.
@@ -12168,6 +30647,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -12179,9 +30661,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -12236,11 +30715,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12295,11 +30774,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12353,11 +30832,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12413,11 +30892,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12549,6 +31028,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -12560,12 +31042,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -12685,6 +31164,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -12696,14 +31178,74 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
+              &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                  # the bubbles at different sizes relative to each other.
+                  # If specified, group_ids must also be specified.  This field is
+                  # optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                  # 0 is fully transparent and 1 is fully opaque.
             },
           },
           &quot;chartId&quot;: 42, # The ID of the chart to update.
@@ -12746,11 +31288,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         },
         &quot;insertDimension&quot;: { # Inserts rows or columns in a sheet at a particular index. # Inserts new rows or columns in a sheet.
@@ -12759,10 +31301,10 @@
               # Indexes are half open: the start index is inclusive
               # and the end index is exclusive.
               # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             &quot;sheetId&quot;: 42, # The sheet this span is on.
             &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
             &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
           },
           &quot;inheritFromBefore&quot;: True or False, # Whether dimension properties should be extended from the dimensions
               # before or after the newly inserted dimensions.
@@ -12825,54 +31367,23 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;cell&quot;: { # Data about a specific cell. # The data to write.
+            &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                # This is the value as it&#x27;s shown to the user.
+                # This field is read-only.
             &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                 # is computed dynamically based on its data, grouping, filters, values,
                 # etc. Only the top-left cell of the pivot table contains the pivot table
                 # definition. The other cells will contain the calculated values of the
                 # results of the pivot in their effective_value fields.
-              &quot;rows&quot;: [ # Each row grouping in the pivot table.
+              &quot;columns&quot;: [ # Each column grouping in the pivot table.
                 { # A single grouping (either row or column) in a pivot table.
-                  &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                  &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                  &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                      # If not specified, sorting is alphabetical by this group&#x27;s values.
-                    &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                        # grouping should be sorted by.
-                    &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                        #
-                        # For example, in a pivot table with one row group &amp; two column groups,
-                        # the row group can list up to two values. The first value corresponds
-                        # to a value within the first column group, and the second value
-                        # corresponds to a value in the second column group.  If no values
-                        # are listed, this would indicate that the row should be sorted according
-                        # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                        # this would correspond to using the &quot;Total&quot; of that bucket.
-                      { # The kinds of value that a cell in a spreadsheet can have.
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                            # Leading single quotes are not included. For example, if the user typed
-                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                            # `&quot;123&quot;`.
-                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                        &quot;numberValue&quot;: 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # &quot;serial number&quot; format.
-                      },
-                    ],
-                  },
                   &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                       # This is only valid for row groupings and is ignored by columns.
                       #
@@ -12895,13 +31406,6 @@
                       &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                           # (Note that formulaValue is not valid,
                           #  because the values will be calculated.)
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                         &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -12910,6 +31414,13 @@
                         &quot;numberValue&quot;: 3.14, # Represents a double value.
                             # Note: Dates, Times and DateTimes are represented as doubles in
                             # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       },
                     },
                   ],
@@ -13025,13 +31536,6 @@
                               # group within a given ManualRule. Items that do not appear in any
                               # group will appear on their own.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -13040,17 +31544,17 @@
                               &quot;numberValue&quot;: 3.14, # Represents a double value.
                                   # Note: Dates, Times and DateTimes are represented as doubles in
                                   # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                             },
                           ],
                           &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                               # ManualRule must have a unique group name.
-                            &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                # This field is read-only.
-                              &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                  # (in the spreadsheet&#x27;s locale).
-                              &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                            },
-                            &quot;boolValue&quot;: True or False, # Represents a boolean value.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                 # Leading single quotes are not included. For example, if the user typed
                                 # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -13059,6 +31563,13 @@
                             &quot;numberValue&quot;: 3.14, # Represents a double value.
                                 # Note: Dates, Times and DateTimes are represented as doubles in
                                 # &quot;serial number&quot; format.
+                            &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                # This field is read-only.
+                              &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                  # (in the spreadsheet&#x27;s locale).
+                              &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                            },
+                            &quot;boolValue&quot;: True or False, # Represents a boolean value.
                           },
                         },
                       ],
@@ -13082,6 +31593,303 @@
                       #     +--------------+---------+-------+
                       #     | Grand Total  |    1110 |   636 |
                       #     +--------------+---------+-------+
+                  &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                  &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                  &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                      # If not specified, sorting is alphabetical by this group&#x27;s values.
+                    &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                        #
+                        # For example, in a pivot table with one row group &amp; two column groups,
+                        # the row group can list up to two values. The first value corresponds
+                        # to a value within the first column group, and the second value
+                        # corresponds to a value in the second column group.  If no values
+                        # are listed, this would indicate that the row should be sorted according
+                        # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                        # this would correspond to using the &quot;Total&quot; of that bucket.
+                      { # The kinds of value that a cell in a spreadsheet can have.
+                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                            # `&quot;123&quot;`.
+                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                        &quot;numberValue&quot;: 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                      },
+                    ],
+                    &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                        # grouping should be sorted by.
+                  },
+                },
+              ],
+              &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                  # or vertically (as rows).
+              &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                  #
+                  # The filters are applied before aggregating data into the pivot table.
+                  # The map&#x27;s key is the column offset of the source range that you want to
+                  # filter, and the value is the criteria for that column.
+                  #
+                  # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                  # for column `C`, whereas the key `1` is for column `D`.
+                &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                  &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                    &quot;A String&quot;,
+                  ],
+                },
+              },
+              &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                { # A single grouping (either row or column) in a pivot table.
+                  &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                      # This is only valid for row groupings and is ignored by columns.
+                      #
+                      # By default, we minimize repitition of headings by not showing higher
+                      # level headings where they are the same. For example, even though the
+                      # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                      # it is redundant with previous rows. Setting repeat_headings to true
+                      # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                      #
+                      #     +--------------+
+                      #     | Q1     | Jan |
+                      #     |        | Feb |
+                      #     |        | Mar |
+                      #     +--------+-----+
+                      #     | Q1 Total     |
+                      #     +--------------+
+                  &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                    { # Metadata about a value in a pivot grouping.
+                      &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                      &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                          # (Note that formulaValue is not valid,
+                          #  because the values will be calculated.)
+                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                            # `&quot;123&quot;`.
+                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                        &quot;numberValue&quot;: 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                      },
+                    },
+                  ],
+                  &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                      #
+                      # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                      # means this group refers to column `C`, whereas the offset `1` would
+                      # refer to column `D`.
+                  &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                      # in the source data column rather than breaking out each individual value.
+                      # Only one PivotGroup with a group rule may be added for each column in
+                      # the source data, though on any given column you may add both a
+                      # PivotGroup that has a rule and a PivotGroup that does not.
+                    &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                        # buckets of a constant size. All values from HistogramRule.start to
+                        # HistogramRule.end are placed into groups of size
+                        # HistogramRule.interval. In addition, all values below
+                        # HistogramRule.start are placed in one group, and all values above
+                        # HistogramRule.end are placed in another. Only
+                        # HistogramRule.interval is required, though if HistogramRule.start
+                        # and HistogramRule.end are both provided, HistogramRule.start must
+                        # be less than HistogramRule.end. For example, a pivot table showing
+                        # average purchase amount by age that has 50+ rows:
+                        #
+                        #     +-----+-------------------+
+                        #     | Age | AVERAGE of Amount |
+                        #     +-----+-------------------+
+                        #     | 16  |            $27.13 |
+                        #     | 17  |             $5.24 |
+                        #     | 18  |            $20.15 |
+                        #     ...
+                        #     +-----+-------------------+
+                        # could be turned into a pivot table that looks like the one below by
+                        # applying a histogram group rule with a HistogramRule.start of 25,
+                        # an HistogramRule.interval of 20, and an HistogramRule.end
+                        # of 65.
+                        #
+                        #     +-------------+-------------------+
+                        #     | Grouped Age | AVERAGE of Amount |
+                        #     +-------------+-------------------+
+                        #     | &lt; 25        |            $19.34 |
+                        #     | 25-45       |            $31.43 |
+                        #     | 45-65       |            $35.87 |
+                        #     | &gt; 65        |            $27.55 |
+                        #     +-------------+-------------------+
+                        #     | Grand Total |            $29.12 |
+                        #     +-------------+-------------------+
+                      &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                          # of constant size. Values below start are lumped into a single bucket.
+                          # This field is optional.
+                      &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                          # of constant size. Values above end are lumped into a single bucket.
+                          # This field is optional.
+                      &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                    },
+                    &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                        # buckets based on selected parts of their date or time values. For example,
+                        # consider a pivot table showing sales transactions by date:
+                        #
+                        #     +----------+--------------+
+                        #     | Date     | SUM of Sales |
+                        #     +----------+--------------+
+                        #     | 1/1/2017 |      $621.14 |
+                        #     | 2/3/2017 |      $708.84 |
+                        #     | 5/8/2017 |      $326.84 |
+                        #     ...
+                        #     +----------+--------------+
+                        # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                        # results in the following pivot table.
+                        #
+                        #     +--------------+--------------+
+                        #     | Grouped Date | SUM of Sales |
+                        #     +--------------+--------------+
+                        #     | 2017-Jan     |   $53,731.78 |
+                        #     | 2017-Feb     |   $83,475.32 |
+                        #     | 2017-Mar     |   $94,385.05 |
+                        #     ...
+                        #     +--------------+--------------+
+                      &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                    },
+                    &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                        # buckets with names of your choosing. For example, a pivot table that
+                        # aggregates population by state:
+                        #
+                        #     +-------+-------------------+
+                        #     | State | SUM of Population |
+                        #     +-------+-------------------+
+                        #     | AK    |               0.7 |
+                        #     | AL    |               4.8 |
+                        #     | AR    |               2.9 |
+                        #     ...
+                        #     +-------+-------------------+
+                        # could be turned into a pivot table that aggregates population by time zone
+                        # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                        # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                        # Note that a similar effect could be achieved by adding a time zone column
+                        # to the source data and adjusting the pivot table.
+                        #
+                        #     +-----------+-------------------+
+                        #     | Time Zone | SUM of Population |
+                        #     +-----------+-------------------+
+                        #     | Central   |             106.3 |
+                        #     | Eastern   |             151.9 |
+                        #     | Mountain  |              17.4 |
+                        #     ...
+                        #     +-----------+-------------------+
+                      &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                          # that map to each group name.
+                        { # A group name and a list of items from the source data that should be placed
+                            # in the group with this name.
+                          &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                              # item may be a string, number, or boolean. Items may appear in at most one
+                              # group within a given ManualRule. Items that do not appear in any
+                              # group will appear on their own.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                              # ManualRule must have a unique group name.
+                            &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                # Leading single quotes are not included. For example, if the user typed
+                                # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                # `&quot;123&quot;`.
+                            &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                # Note: Dates, Times and DateTimes are represented as doubles in
+                                # &quot;serial number&quot; format.
+                            &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                # This field is read-only.
+                              &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                  # (in the spreadsheet&#x27;s locale).
+                              &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                            },
+                            &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                          },
+                        },
+                      ],
+                    },
+                  },
+                  &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                      # example, in the following pivot table, the row label is `Region` (which
+                      # could be renamed to `State`) and the column label is `Product` (which
+                      # could be renamed `Item`). Pivot tables created before December 2017 do
+                      # not have header labels. If you&#x27;d like to add header labels to an existing
+                      # pivot table, please delete the existing pivot table and then create a new
+                      # pivot table with same parameters.
+                      #
+                      #     +--------------+---------+-------+
+                      #     | SUM of Units | Product |       |
+                      #     | Region       | Pen     | Paper |
+                      #     +--------------+---------+-------+
+                      #     | New York     |     345 |    98 |
+                      #     | Oregon       |     234 |   123 |
+                      #     | Tennessee    |     531 |   415 |
+                      #     +--------------+---------+-------+
+                      #     | Grand Total  |    1110 |   636 |
+                      #     +--------------+---------+-------+
+                  &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                  &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                  &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                      # If not specified, sorting is alphabetical by this group&#x27;s values.
+                    &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                        #
+                        # For example, in a pivot table with one row group &amp; two column groups,
+                        # the row group can list up to two values. The first value corresponds
+                        # to a value within the first column group, and the second value
+                        # corresponds to a value in the second column group.  If no values
+                        # are listed, this would indicate that the row should be sorted according
+                        # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                        # this would correspond to using the &quot;Total&quot; of that bucket.
+                      { # The kinds of value that a cell in a spreadsheet can have.
+                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                            # `&quot;123&quot;`.
+                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                        &quot;numberValue&quot;: 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                      },
+                    ],
+                    &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                        # grouping should be sorted by.
+                  },
                 },
               ],
               &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -13113,20 +31921,14 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
               &quot;values&quot;: [ # A list of values to include in the pivot table.
                 { # The definition of how a value in a pivot table should be calculated.
-                  &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                      # the result of a calculation with another pivot value. For example, if
-                      # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                      # pivot values are displayed as the percentage of the grand total. In
-                      # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                      # pivot table.
                   &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                       #
                       # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -13141,275 +31943,15 @@
                       # If sourceColumnOffset is set, then `CUSTOM`
                       # is not supported.
                   &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                  &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                      # the result of a calculation with another pivot value. For example, if
+                      # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                      # pivot values are displayed as the percentage of the grand total. In
+                      # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                      # pivot table.
                 },
               ],
-              &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                { # A single grouping (either row or column) in a pivot table.
-                  &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                  &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                  &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                      # If not specified, sorting is alphabetical by this group&#x27;s values.
-                    &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                        # grouping should be sorted by.
-                    &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                        #
-                        # For example, in a pivot table with one row group &amp; two column groups,
-                        # the row group can list up to two values. The first value corresponds
-                        # to a value within the first column group, and the second value
-                        # corresponds to a value in the second column group.  If no values
-                        # are listed, this would indicate that the row should be sorted according
-                        # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                        # this would correspond to using the &quot;Total&quot; of that bucket.
-                      { # The kinds of value that a cell in a spreadsheet can have.
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                            # Leading single quotes are not included. For example, if the user typed
-                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                            # `&quot;123&quot;`.
-                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                        &quot;numberValue&quot;: 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # &quot;serial number&quot; format.
-                      },
-                    ],
-                  },
-                  &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                      # This is only valid for row groupings and is ignored by columns.
-                      #
-                      # By default, we minimize repitition of headings by not showing higher
-                      # level headings where they are the same. For example, even though the
-                      # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                      # it is redundant with previous rows. Setting repeat_headings to true
-                      # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                      #
-                      #     +--------------+
-                      #     | Q1     | Jan |
-                      #     |        | Feb |
-                      #     |        | Mar |
-                      #     +--------+-----+
-                      #     | Q1 Total     |
-                      #     +--------------+
-                  &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                    { # Metadata about a value in a pivot grouping.
-                      &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                      &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                          # (Note that formulaValue is not valid,
-                          #  because the values will be calculated.)
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                            # Leading single quotes are not included. For example, if the user typed
-                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                            # `&quot;123&quot;`.
-                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                        &quot;numberValue&quot;: 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # &quot;serial number&quot; format.
-                      },
-                    },
-                  ],
-                  &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                      #
-                      # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                      # means this group refers to column `C`, whereas the offset `1` would
-                      # refer to column `D`.
-                  &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                      # in the source data column rather than breaking out each individual value.
-                      # Only one PivotGroup with a group rule may be added for each column in
-                      # the source data, though on any given column you may add both a
-                      # PivotGroup that has a rule and a PivotGroup that does not.
-                    &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                        # buckets of a constant size. All values from HistogramRule.start to
-                        # HistogramRule.end are placed into groups of size
-                        # HistogramRule.interval. In addition, all values below
-                        # HistogramRule.start are placed in one group, and all values above
-                        # HistogramRule.end are placed in another. Only
-                        # HistogramRule.interval is required, though if HistogramRule.start
-                        # and HistogramRule.end are both provided, HistogramRule.start must
-                        # be less than HistogramRule.end. For example, a pivot table showing
-                        # average purchase amount by age that has 50+ rows:
-                        #
-                        #     +-----+-------------------+
-                        #     | Age | AVERAGE of Amount |
-                        #     +-----+-------------------+
-                        #     | 16  |            $27.13 |
-                        #     | 17  |             $5.24 |
-                        #     | 18  |            $20.15 |
-                        #     ...
-                        #     +-----+-------------------+
-                        # could be turned into a pivot table that looks like the one below by
-                        # applying a histogram group rule with a HistogramRule.start of 25,
-                        # an HistogramRule.interval of 20, and an HistogramRule.end
-                        # of 65.
-                        #
-                        #     +-------------+-------------------+
-                        #     | Grouped Age | AVERAGE of Amount |
-                        #     +-------------+-------------------+
-                        #     | &lt; 25        |            $19.34 |
-                        #     | 25-45       |            $31.43 |
-                        #     | 45-65       |            $35.87 |
-                        #     | &gt; 65        |            $27.55 |
-                        #     +-------------+-------------------+
-                        #     | Grand Total |            $29.12 |
-                        #     +-------------+-------------------+
-                      &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                          # of constant size. Values below start are lumped into a single bucket.
-                          # This field is optional.
-                      &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                          # of constant size. Values above end are lumped into a single bucket.
-                          # This field is optional.
-                      &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                    },
-                    &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                        # buckets based on selected parts of their date or time values. For example,
-                        # consider a pivot table showing sales transactions by date:
-                        #
-                        #     +----------+--------------+
-                        #     | Date     | SUM of Sales |
-                        #     +----------+--------------+
-                        #     | 1/1/2017 |      $621.14 |
-                        #     | 2/3/2017 |      $708.84 |
-                        #     | 5/8/2017 |      $326.84 |
-                        #     ...
-                        #     +----------+--------------+
-                        # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                        # results in the following pivot table.
-                        #
-                        #     +--------------+--------------+
-                        #     | Grouped Date | SUM of Sales |
-                        #     +--------------+--------------+
-                        #     | 2017-Jan     |   $53,731.78 |
-                        #     | 2017-Feb     |   $83,475.32 |
-                        #     | 2017-Mar     |   $94,385.05 |
-                        #     ...
-                        #     +--------------+--------------+
-                      &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                    },
-                    &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                        # buckets with names of your choosing. For example, a pivot table that
-                        # aggregates population by state:
-                        #
-                        #     +-------+-------------------+
-                        #     | State | SUM of Population |
-                        #     +-------+-------------------+
-                        #     | AK    |               0.7 |
-                        #     | AL    |               4.8 |
-                        #     | AR    |               2.9 |
-                        #     ...
-                        #     +-------+-------------------+
-                        # could be turned into a pivot table that aggregates population by time zone
-                        # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                        # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                        # Note that a similar effect could be achieved by adding a time zone column
-                        # to the source data and adjusting the pivot table.
-                        #
-                        #     +-----------+-------------------+
-                        #     | Time Zone | SUM of Population |
-                        #     +-----------+-------------------+
-                        #     | Central   |             106.3 |
-                        #     | Eastern   |             151.9 |
-                        #     | Mountain  |              17.4 |
-                        #     ...
-                        #     +-----------+-------------------+
-                      &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                          # that map to each group name.
-                        { # A group name and a list of items from the source data that should be placed
-                            # in the group with this name.
-                          &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                              # item may be a string, number, or boolean. Items may appear in at most one
-                              # group within a given ManualRule. Items that do not appear in any
-                              # group will appear on their own.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                          &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                              # ManualRule must have a unique group name.
-                            &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                # This field is read-only.
-                              &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                  # (in the spreadsheet&#x27;s locale).
-                              &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                            },
-                            &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                            &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                # Leading single quotes are not included. For example, if the user typed
-                                # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                # `&quot;123&quot;`.
-                            &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                # Note: Dates, Times and DateTimes are represented as doubles in
-                                # &quot;serial number&quot; format.
-                          },
-                        },
-                      ],
-                    },
-                  },
-                  &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                      # example, in the following pivot table, the row label is `Region` (which
-                      # could be renamed to `State`) and the column label is `Product` (which
-                      # could be renamed `Item`). Pivot tables created before December 2017 do
-                      # not have header labels. If you&#x27;d like to add header labels to an existing
-                      # pivot table, please delete the existing pivot table and then create a new
-                      # pivot table with same parameters.
-                      #
-                      #     +--------------+---------+-------+
-                      #     | SUM of Units | Product |       |
-                      #     | Region       | Pen     | Paper |
-                      #     +--------------+---------+-------+
-                      #     | New York     |     345 |    98 |
-                      #     | Oregon       |     234 |   123 |
-                      #     | Tennessee    |     531 |   415 |
-                      #     +--------------+---------+-------+
-                      #     | Grand Total  |    1110 |   636 |
-                      #     +--------------+---------+-------+
-                },
-              ],
-              &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                  # or vertically (as rows).
-              &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                  #
-                  # The filters are applied before aggregating data into the pivot table.
-                  # The map&#x27;s key is the column offset of the source range that you want to
-                  # filter, and the value is the criteria for that column.
-                  #
-                  # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                  # for column `C`, whereas the key `1` is for column `D`.
-                &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                  &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                    &quot;A String&quot;,
-                  ],
-                },
-              },
             },
-            &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                # This is the value as it&#x27;s shown to the user.
-                # This field is read-only.
             &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                 # on user entered strings, not formulas, bools, or numbers.
                 # Runs start at specific indexes in the text and continue until the next
@@ -13548,6 +32090,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -13559,12 +32104,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -13684,6 +32226,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -13695,11 +32240,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -13710,13 +32252,6 @@
                 # the calculated value.  For cells with literals, this is
                 # the same as the user_entered_value.
                 # This field is read-only.
-              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                  # This field is read-only.
-                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                    # (in the spreadsheet&#x27;s locale).
-                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-              },
-              &quot;boolValue&quot;: True or False, # Represents a boolean value.
               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                   # Leading single quotes are not included. For example, if the user typed
                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -13725,17 +32260,165 @@
               &quot;numberValue&quot;: 3.14, # Represents a double value.
                   # Note: Dates, Times and DateTimes are represented as doubles in
                   # &quot;serial number&quot; format.
+              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                  # This field is read-only.
+                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                    # (in the spreadsheet&#x27;s locale).
+                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+              },
+              &quot;boolValue&quot;: True or False, # Represents a boolean value.
             },
+            &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
             &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                 # This includes the results of applying any conditional formatting and,
                 # if the cell contains a formula, the computed number format.
                 # If the effective format is the default format, effective format will
                 # not be written.
                 # This field is read-only.
+              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                &quot;left&quot;: 42, # The left padding of the cell.
+                &quot;top&quot;: 42, # The top padding of the cell.
+                &quot;right&quot;: 42, # The right padding of the cell.
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
               &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                 &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user&#x27;s locale will be used if necessary for the given type.
@@ -13744,6 +32427,7 @@
                 &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                     # When writing, this field must be set.
               },
+              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                 &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                   &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -13870,6 +32554,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -13881,9 +32568,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -14005,6 +32689,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -14016,9 +32703,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -14147,6 +32831,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -14158,9 +32845,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -14282,6 +32966,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -14293,9 +32980,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -14424,6 +33108,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -14435,9 +33122,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -14559,6 +33243,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -14570,9 +33257,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -14701,6 +33385,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -14712,9 +33399,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -14836,6 +33520,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -14847,9 +33534,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -14981,6 +33665,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -14992,12 +33679,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -15117,6 +33801,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -15128,35 +33815,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                    # Measured in degrees. Valid values are between -90 and 90. Positive
-                    # angles are angled upwards, negative are angled downwards.
-                    #
-                    # Note: For LTR text direction positive angles are in the
-                    # counterclockwise direction, whereas for RTL they are in the clockwise
-                    # direction
-                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                    # characters is unchanged.
-                    # For example:
-                    #
-                    #     | V |
-                    #     | e |
-                    #     | r |
-                    #     | t |
-                    #     | i |
-                    #     | c |
-                    #     | a |
-                    #     | l |
-              },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                   # If background_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -15279,6 +33942,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -15290,161 +33956,177 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                  # When updating padding, every field must be specified.
-                &quot;right&quot;: 42, # The right padding of the cell.
-                &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                &quot;left&quot;: 42, # The left padding of the cell.
-                &quot;top&quot;: 42, # The top padding of the cell.
-              },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
+              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
                     #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    # Note: For LTR text direction positive angles are in the
+                    # counterclockwise direction, whereas for RTL they are in the clockwise
+                    # direction
+                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
                     #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
               },
             },
-            &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
             &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                 #
                 # When writing, the new format will be merged with the existing format.
+              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                &quot;left&quot;: 42, # The left padding of the cell.
+                &quot;top&quot;: 42, # The top padding of the cell.
+                &quot;right&quot;: 42, # The right padding of the cell.
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
               &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                 &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user&#x27;s locale will be used if necessary for the given type.
@@ -15453,6 +34135,7 @@
                 &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                     # When writing, this field must be set.
               },
+              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                 &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                   &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -15579,6 +34262,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -15590,9 +34276,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -15714,6 +34397,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -15725,9 +34411,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -15856,6 +34539,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -15867,9 +34553,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -15991,6 +34674,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -16002,9 +34688,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -16133,6 +34816,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -16144,9 +34830,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -16268,6 +34951,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -16279,9 +34965,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -16410,6 +35093,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -16421,9 +35107,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -16545,6 +35228,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -16556,9 +35242,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -16690,6 +35373,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -16701,12 +35387,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -16826,6 +35509,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -16837,35 +35523,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                    # Measured in degrees. Valid values are between -90 and 90. Positive
-                    # angles are angled upwards, negative are angled downwards.
-                    #
-                    # Note: For LTR text direction positive angles are in the
-                    # counterclockwise direction, whereas for RTL they are in the clockwise
-                    # direction
-                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                    # characters is unchanged.
-                    # For example:
-                    #
-                    #     | V |
-                    #     | e |
-                    #     | r |
-                    #     | t |
-                    #     | i |
-                    #     | c |
-                    #     | a |
-                    #     | l |
-              },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                   # If background_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -16988,6 +35650,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -16999,163 +35664,33 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                  # When updating padding, every field must be specified.
-                &quot;right&quot;: 42, # The right padding of the cell.
-                &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                &quot;left&quot;: 42, # The left padding of the cell.
-                &quot;top&quot;: 42, # The top padding of the cell.
-              },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
+              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
                     #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    # Note: For LTR text direction positive angles are in the
+                    # counterclockwise direction, whereas for RTL they are in the clockwise
+                    # direction
+                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
                     #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
               },
             },
             &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                 # Note: Dates, Times and DateTimes are represented as doubles in
                 # serial number format.
-              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                  # This field is read-only.
-                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                    # (in the spreadsheet&#x27;s locale).
-                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-              },
-              &quot;boolValue&quot;: True or False, # Represents a boolean value.
               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                   # Leading single quotes are not included. For example, if the user typed
                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -17164,13 +35699,17 @@
               &quot;numberValue&quot;: 3.14, # Represents a double value.
                   # Note: Dates, Times and DateTimes are represented as doubles in
                   # &quot;serial number&quot; format.
+              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                  # This field is read-only.
+                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                    # (in the spreadsheet&#x27;s locale).
+                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+              },
+              &quot;boolValue&quot;: True or False, # Represents a boolean value.
             },
             &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                 #
                 # When writing, the new data validation rule will overwrite any prior rule.
-              &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                  # If true, &quot;List&quot; conditions will show a dropdown.
-              &quot;strict&quot;: True or False, # True if invalid data should be rejected.
               &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                   # BooleanConditions are used by conditional formatting,
@@ -17197,6 +35736,9 @@
                 ],
                 &quot;type&quot;: &quot;A String&quot;, # The type of condition.
               },
+              &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                  # If true, &quot;List&quot; conditions will show a dropdown.
+              &quot;strict&quot;: True or False, # True if invalid data should be rejected.
             },
             &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                 # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -17223,6 +35765,19 @@
             # row scanning from the top downwards is kept in the resulting range. Content
             # outside of the specified range isn&#x27;t removed, and rows considered duplicates
             # do not have to be adjacent to each other in the range.
+          &quot;comparisonColumns&quot;: [ # The columns in the range to analyze for duplicate values. If no columns are
+              # selected then all columns are analyzed for duplicates.
+            { # A range along a single dimension on a sheet.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+          ],
           &quot;range&quot;: { # A range on a sheet. # The range to remove duplicates rows from.
               # All indexes are zero-based.
               # Indexes are half open, e.g the start index is inclusive
@@ -17252,39 +35807,165 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
-          &quot;comparisonColumns&quot;: [ # The columns in the range to analyze for duplicate values. If no columns are
-              # selected then all columns are analyzed for duplicates.
-            { # A range along a single dimension on a sheet.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          ],
         },
         &quot;updateSpreadsheetProperties&quot;: { # Updates properties of a spreadsheet. # Updates the spreadsheet&#x27;s properties.
           &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
               # The root &#x27;properties&#x27; is implied and should not be specified.
               # A single `&quot;*&quot;` can be used as short-hand for listing every field.
           &quot;properties&quot;: { # Properties of a spreadsheet. # The properties to update.
-            &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
             &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
                 # CellData.effectiveFormat will not be set if
                 # the cell&#x27;s format is equal to this default format. This field is read-only.
+              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                &quot;left&quot;: 42, # The left padding of the cell.
+                &quot;top&quot;: 42, # The top padding of the cell.
+                &quot;right&quot;: 42, # The right padding of the cell.
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
               &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                 &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user&#x27;s locale will be used if necessary for the given type.
@@ -17293,6 +35974,7 @@
                 &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                     # When writing, this field must be set.
               },
+              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                 &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                   &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -17419,6 +36101,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -17430,9 +36115,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -17554,6 +36236,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -17565,9 +36250,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -17696,6 +36378,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -17707,9 +36392,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -17831,6 +36513,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -17842,9 +36527,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -17973,6 +36655,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -17984,9 +36669,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -18108,6 +36790,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -18119,9 +36804,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -18250,6 +36932,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -18261,9 +36946,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -18385,6 +37067,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -18396,9 +37081,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -18530,6 +37212,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -18541,12 +37226,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -18666,6 +37348,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -18677,35 +37362,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                    # Measured in degrees. Valid values are between -90 and 90. Positive
-                    # angles are angled upwards, negative are angled downwards.
-                    #
-                    # Note: For LTR text direction positive angles are in the
-                    # counterclockwise direction, whereas for RTL they are in the clockwise
-                    # direction
-                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                    # characters is unchanged.
-                    # For example:
-                    #
-                    #     | V |
-                    #     | e |
-                    #     | r |
-                    #     | t |
-                    #     | i |
-                    #     | c |
-                    #     | a |
-                    #     | l |
-              },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                   # If background_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -18828,6 +37489,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -18839,154 +37503,34 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                  # When updating padding, every field must be specified.
-                &quot;right&quot;: 42, # The right padding of the cell.
-                &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                &quot;left&quot;: 42, # The left padding of the cell.
-                &quot;top&quot;: 42, # The top padding of the cell.
-              },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
+              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
                     #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    # Note: For LTR text direction positive angles are in the
+                    # counterclockwise direction, whereas for RTL they are in the clockwise
+                    # direction
+                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
                     #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
               },
             },
             &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+            &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+                # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+                # be a custom time zone such as `GMT-07:00`.
             &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
                 # calculation.  Absence of this field means that circular references result
                 # in calculation errors.
@@ -18996,9 +37540,6 @@
               &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
                   # less than this threshold value, the calculation rounds stop.
             },
-            &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-                # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-                # be a custom time zone such as `GMT-07:00`.
             &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
               &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
               &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -19127,6 +37668,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -19138,9 +37682,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 },
@@ -19155,12 +37696,14 @@
                 # * a combination of the ISO language code and country code, such as `en_US`
                 #
                 # Note: when updating this field, not all locales/languages are supported.
+            &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
           },
         },
         &quot;addFilterView&quot;: { # Adds a filter view. # Adds a filter view.
           &quot;filter&quot;: { # A filter view. # The filter to add. The filterViewId
               # field is optional; if one is not set, an id will be randomly generated. (It
               # is an error to specify the ID of a filter that already exists.)
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
             &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                 # The map&#x27;s key is the column index, and the value is the criteria for
                 # that column.
@@ -19285,6 +37828,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -19296,9 +37842,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -19447,6 +37990,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -19458,9 +38004,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -19586,6 +38129,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -19597,9 +38143,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -19726,6 +38269,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -19737,9 +38283,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -19874,6 +38417,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -19885,9 +38431,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -20013,6 +38556,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -20024,9 +38570,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -20155,6 +38698,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -20166,9 +38712,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -20291,6 +38834,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -20302,9 +38848,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -20341,13 +38884,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
           },
         },
         &quot;updateCells&quot;: { # Updates all cells in a range with new data. # Updates many cells at once.
@@ -20363,47 +38905,16 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
+                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                      # This is the value as it&#x27;s shown to the user.
+                      # This field is read-only.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                       # is computed dynamically based on its data, grouping, filters, values,
                       # etc. Only the top-left cell of the pivot table contains the pivot table
                       # definition. The other cells will contain the calculated values of the
                       # results of the pivot in their effective_value fields.
-                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
                       { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
                         &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                             # This is only valid for row groupings and is ignored by columns.
                             #
@@ -20426,13 +38937,6 @@
                             &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -20441,6 +38945,13 @@
                               &quot;numberValue&quot;: 3.14, # Represents a double value.
                                   # Note: Dates, Times and DateTimes are represented as doubles in
                                   # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                             },
                           },
                         ],
@@ -20556,13 +39067,6 @@
                                     # group within a given ManualRule. Items that do not appear in any
                                     # group will appear on their own.
                                   { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -20571,17 +39075,17 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 ],
                                 &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                     # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -20590,6 +39094,13 @@
                                   &quot;numberValue&quot;: 3.14, # Represents a double value.
                                       # Note: Dates, Times and DateTimes are represented as doubles in
                                       # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 },
                               },
                             ],
@@ -20613,6 +39124,303 @@
                             #     +--------------+---------+-------+
                             #     | Grand Total  |    1110 |   636 |
                             #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
+                      },
+                    ],
+                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                        # or vertically (as rows).
+                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                        #
+                        # The filters are applied before aggregating data into the pivot table.
+                        # The map&#x27;s key is the column offset of the source range that you want to
+                        # filter, and the value is the criteria for that column.
+                        #
+                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                        # for column `C`, whereas the key `1` is for column `D`.
+                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                          &quot;A String&quot;,
+                        ],
+                      },
+                    },
+                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                            # This is only valid for row groupings and is ignored by columns.
+                            #
+                            # By default, we minimize repitition of headings by not showing higher
+                            # level headings where they are the same. For example, even though the
+                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                            # it is redundant with previous rows. Setting repeat_headings to true
+                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                            #
+                            #     +--------------+
+                            #     | Q1     | Jan |
+                            #     |        | Feb |
+                            #     |        | Mar |
+                            #     +--------+-----+
+                            #     | Q1 Total     |
+                            #     +--------------+
+                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          },
+                        ],
+                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
+                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                            # in the source data column rather than breaking out each individual value.
+                            # Only one PivotGroup with a group rule may be added for each column in
+                            # the source data, though on any given column you may add both a
+                            # PivotGroup that has a rule and a PivotGroup that does not.
+                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                              # buckets of a constant size. All values from HistogramRule.start to
+                              # HistogramRule.end are placed into groups of size
+                              # HistogramRule.interval. In addition, all values below
+                              # HistogramRule.start are placed in one group, and all values above
+                              # HistogramRule.end are placed in another. Only
+                              # HistogramRule.interval is required, though if HistogramRule.start
+                              # and HistogramRule.end are both provided, HistogramRule.start must
+                              # be less than HistogramRule.end. For example, a pivot table showing
+                              # average purchase amount by age that has 50+ rows:
+                              #
+                              #     +-----+-------------------+
+                              #     | Age | AVERAGE of Amount |
+                              #     +-----+-------------------+
+                              #     | 16  |            $27.13 |
+                              #     | 17  |             $5.24 |
+                              #     | 18  |            $20.15 |
+                              #     ...
+                              #     +-----+-------------------+
+                              # could be turned into a pivot table that looks like the one below by
+                              # applying a histogram group rule with a HistogramRule.start of 25,
+                              # an HistogramRule.interval of 20, and an HistogramRule.end
+                              # of 65.
+                              #
+                              #     +-------------+-------------------+
+                              #     | Grouped Age | AVERAGE of Amount |
+                              #     +-------------+-------------------+
+                              #     | &lt; 25        |            $19.34 |
+                              #     | 25-45       |            $31.43 |
+                              #     | 45-65       |            $35.87 |
+                              #     | &gt; 65        |            $27.55 |
+                              #     +-------------+-------------------+
+                              #     | Grand Total |            $29.12 |
+                              #     +-------------+-------------------+
+                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                # of constant size. Values below start are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                # of constant size. Values above end are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                          },
+                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                              # buckets based on selected parts of their date or time values. For example,
+                              # consider a pivot table showing sales transactions by date:
+                              #
+                              #     +----------+--------------+
+                              #     | Date     | SUM of Sales |
+                              #     +----------+--------------+
+                              #     | 1/1/2017 |      $621.14 |
+                              #     | 2/3/2017 |      $708.84 |
+                              #     | 5/8/2017 |      $326.84 |
+                              #     ...
+                              #     +----------+--------------+
+                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                              # results in the following pivot table.
+                              #
+                              #     +--------------+--------------+
+                              #     | Grouped Date | SUM of Sales |
+                              #     +--------------+--------------+
+                              #     | 2017-Jan     |   $53,731.78 |
+                              #     | 2017-Feb     |   $83,475.32 |
+                              #     | 2017-Mar     |   $94,385.05 |
+                              #     ...
+                              #     +--------------+--------------+
+                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                          },
+                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                              # buckets with names of your choosing. For example, a pivot table that
+                              # aggregates population by state:
+                              #
+                              #     +-------+-------------------+
+                              #     | State | SUM of Population |
+                              #     +-------+-------------------+
+                              #     | AK    |               0.7 |
+                              #     | AL    |               4.8 |
+                              #     | AR    |               2.9 |
+                              #     ...
+                              #     +-------+-------------------+
+                              # could be turned into a pivot table that aggregates population by time zone
+                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                              # Note that a similar effect could be achieved by adding a time zone column
+                              # to the source data and adjusting the pivot table.
+                              #
+                              #     +-----------+-------------------+
+                              #     | Time Zone | SUM of Population |
+                              #     +-----------+-------------------+
+                              #     | Central   |             106.3 |
+                              #     | Eastern   |             151.9 |
+                              #     | Mountain  |              17.4 |
+                              #     ...
+                              #     +-----------+-------------------+
+                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                # that map to each group name.
+                              { # A group name and a list of items from the source data that should be placed
+                                  # in the group with this name.
+                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                    # item may be a string, number, or boolean. Items may appear in at most one
+                                    # group within a given ManualRule. Items that do not appear in any
+                                    # group will appear on their own.
+                                  { # The kinds of value that a cell in a spreadsheet can have.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                ],
+                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                    # ManualRule must have a unique group name.
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              },
+                            ],
+                          },
+                        },
+                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                            # example, in the following pivot table, the row label is `Region` (which
+                            # could be renamed to `State`) and the column label is `Product` (which
+                            # could be renamed `Item`). Pivot tables created before December 2017 do
+                            # not have header labels. If you&#x27;d like to add header labels to an existing
+                            # pivot table, please delete the existing pivot table and then create a new
+                            # pivot table with same parameters.
+                            #
+                            #     +--------------+---------+-------+
+                            #     | SUM of Units | Product |       |
+                            #     | Region       | Pen     | Paper |
+                            #     +--------------+---------+-------+
+                            #     | New York     |     345 |    98 |
+                            #     | Oregon       |     234 |   123 |
+                            #     | Tennessee    |     531 |   415 |
+                            #     +--------------+---------+-------+
+                            #     | Grand Total  |    1110 |   636 |
+                            #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
                       },
                     ],
                     &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -20644,20 +39452,14 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                     &quot;values&quot;: [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
-                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                            # the result of a calculation with another pivot value. For example, if
-                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                            # pivot values are displayed as the percentage of the grand total. In
-                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                            # pivot table.
                         &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                             #
                             # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -20672,275 +39474,15 @@
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # is not supported.
                         &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                            # the result of a calculation with another pivot value. For example, if
+                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                            # pivot values are displayed as the percentage of the grand total. In
+                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                            # pivot table.
                       },
                     ],
-                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                      { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
-                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                            # This is only valid for row groupings and is ignored by columns.
-                            #
-                            # By default, we minimize repitition of headings by not showing higher
-                            # level headings where they are the same. For example, even though the
-                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                            # it is redundant with previous rows. Setting repeat_headings to true
-                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                            #
-                            #     +--------------+
-                            #     | Q1     | Jan |
-                            #     |        | Feb |
-                            #     |        | Mar |
-                            #     +--------+-----+
-                            #     | Q1 Total     |
-                            #     +--------------+
-                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                          { # Metadata about a value in a pivot grouping.
-                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                # (Note that formulaValue is not valid,
-                                #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          },
-                        ],
-                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this group refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
-                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                            # in the source data column rather than breaking out each individual value.
-                            # Only one PivotGroup with a group rule may be added for each column in
-                            # the source data, though on any given column you may add both a
-                            # PivotGroup that has a rule and a PivotGroup that does not.
-                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                              # buckets of a constant size. All values from HistogramRule.start to
-                              # HistogramRule.end are placed into groups of size
-                              # HistogramRule.interval. In addition, all values below
-                              # HistogramRule.start are placed in one group, and all values above
-                              # HistogramRule.end are placed in another. Only
-                              # HistogramRule.interval is required, though if HistogramRule.start
-                              # and HistogramRule.end are both provided, HistogramRule.start must
-                              # be less than HistogramRule.end. For example, a pivot table showing
-                              # average purchase amount by age that has 50+ rows:
-                              #
-                              #     +-----+-------------------+
-                              #     | Age | AVERAGE of Amount |
-                              #     +-----+-------------------+
-                              #     | 16  |            $27.13 |
-                              #     | 17  |             $5.24 |
-                              #     | 18  |            $20.15 |
-                              #     ...
-                              #     +-----+-------------------+
-                              # could be turned into a pivot table that looks like the one below by
-                              # applying a histogram group rule with a HistogramRule.start of 25,
-                              # an HistogramRule.interval of 20, and an HistogramRule.end
-                              # of 65.
-                              #
-                              #     +-------------+-------------------+
-                              #     | Grouped Age | AVERAGE of Amount |
-                              #     +-------------+-------------------+
-                              #     | &lt; 25        |            $19.34 |
-                              #     | 25-45       |            $31.43 |
-                              #     | 45-65       |            $35.87 |
-                              #     | &gt; 65        |            $27.55 |
-                              #     +-------------+-------------------+
-                              #     | Grand Total |            $29.12 |
-                              #     +-------------+-------------------+
-                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                # of constant size. Values below start are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                # of constant size. Values above end are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                          },
-                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                              # buckets based on selected parts of their date or time values. For example,
-                              # consider a pivot table showing sales transactions by date:
-                              #
-                              #     +----------+--------------+
-                              #     | Date     | SUM of Sales |
-                              #     +----------+--------------+
-                              #     | 1/1/2017 |      $621.14 |
-                              #     | 2/3/2017 |      $708.84 |
-                              #     | 5/8/2017 |      $326.84 |
-                              #     ...
-                              #     +----------+--------------+
-                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                              # results in the following pivot table.
-                              #
-                              #     +--------------+--------------+
-                              #     | Grouped Date | SUM of Sales |
-                              #     +--------------+--------------+
-                              #     | 2017-Jan     |   $53,731.78 |
-                              #     | 2017-Feb     |   $83,475.32 |
-                              #     | 2017-Mar     |   $94,385.05 |
-                              #     ...
-                              #     +--------------+--------------+
-                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                          },
-                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                              # buckets with names of your choosing. For example, a pivot table that
-                              # aggregates population by state:
-                              #
-                              #     +-------+-------------------+
-                              #     | State | SUM of Population |
-                              #     +-------+-------------------+
-                              #     | AK    |               0.7 |
-                              #     | AL    |               4.8 |
-                              #     | AR    |               2.9 |
-                              #     ...
-                              #     +-------+-------------------+
-                              # could be turned into a pivot table that aggregates population by time zone
-                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                              # Note that a similar effect could be achieved by adding a time zone column
-                              # to the source data and adjusting the pivot table.
-                              #
-                              #     +-----------+-------------------+
-                              #     | Time Zone | SUM of Population |
-                              #     +-----------+-------------------+
-                              #     | Central   |             106.3 |
-                              #     | Eastern   |             151.9 |
-                              #     | Mountain  |              17.4 |
-                              #     ...
-                              #     +-----------+-------------------+
-                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                # that map to each group name.
-                              { # A group name and a list of items from the source data that should be placed
-                                  # in the group with this name.
-                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                    # item may be a string, number, or boolean. Items may appear in at most one
-                                    # group within a given ManualRule. Items that do not appear in any
-                                    # group will appear on their own.
-                                  { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                ],
-                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                    # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              },
-                            ],
-                          },
-                        },
-                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                            # example, in the following pivot table, the row label is `Region` (which
-                            # could be renamed to `State`) and the column label is `Product` (which
-                            # could be renamed `Item`). Pivot tables created before December 2017 do
-                            # not have header labels. If you&#x27;d like to add header labels to an existing
-                            # pivot table, please delete the existing pivot table and then create a new
-                            # pivot table with same parameters.
-                            #
-                            #     +--------------+---------+-------+
-                            #     | SUM of Units | Product |       |
-                            #     | Region       | Pen     | Paper |
-                            #     +--------------+---------+-------+
-                            #     | New York     |     345 |    98 |
-                            #     | Oregon       |     234 |   123 |
-                            #     | Tennessee    |     531 |   415 |
-                            #     +--------------+---------+-------+
-                            #     | Grand Total  |    1110 |   636 |
-                            #     +--------------+---------+-------+
-                      },
-                    ],
-                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                        # or vertically (as rows).
-                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                        #
-                        # The filters are applied before aggregating data into the pivot table.
-                        # The map&#x27;s key is the column offset of the source range that you want to
-                        # filter, and the value is the criteria for that column.
-                        #
-                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                        # for column `C`, whereas the key `1` is for column `D`.
-                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                          &quot;A String&quot;,
-                        ],
-                      },
-                    },
                   },
-                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                      # This is the value as it&#x27;s shown to the user.
-                      # This field is read-only.
                   &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                       # on user entered strings, not formulas, bools, or numbers.
                       # Runs start at specific indexes in the text and continue until the next
@@ -21079,6 +39621,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -21090,12 +39635,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -21215,6 +39757,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -21226,11 +39771,8 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
@@ -21241,13 +39783,6 @@
                       # the calculated value.  For cells with literals, this is
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -21256,17 +39791,165 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
+                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                       # This includes the results of applying any conditional formatting and,
                       # if the cell contains a formula, the computed number format.
                       # If the effective format is the default format, effective format will
                       # not be written.
                       # This field is read-only.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -21275,6 +39958,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -21401,6 +40085,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -21412,9 +40099,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -21536,6 +40220,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -21547,9 +40234,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -21678,6 +40362,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -21689,9 +40376,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -21813,6 +40497,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -21824,9 +40511,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -21955,6 +40639,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -21966,9 +40653,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -22090,6 +40774,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -22101,9 +40788,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -22232,6 +40916,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -22243,9 +40930,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -22367,6 +41051,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -22378,9 +41065,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -22512,6 +41196,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -22523,12 +41210,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -22648,6 +41332,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -22659,35 +41346,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -22810,6 +41473,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -22821,161 +41487,177 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
-                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                       #
                       # When writing, the new format will be merged with the existing format.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -22984,6 +41666,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -23110,6 +41793,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -23121,9 +41807,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -23245,6 +41928,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -23256,9 +41942,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -23387,6 +42070,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -23398,9 +42084,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -23522,6 +42205,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -23533,9 +42219,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -23664,6 +42347,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -23675,9 +42361,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -23799,6 +42482,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -23810,9 +42496,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -23941,6 +42624,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -23952,9 +42638,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -24076,6 +42759,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -24087,9 +42773,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -24221,6 +42904,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -24232,12 +42918,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -24357,6 +43040,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -24368,35 +43054,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -24519,6 +43181,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -24530,163 +43195,33 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
                   &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -24695,13 +43230,17 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
                   &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                       #
                       # When writing, the new data validation rule will overwrite any prior rule.
-                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                        # If true, &quot;List&quot; conditions will show a dropdown.
-                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                     &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
@@ -24728,6 +43267,9 @@
                       ],
                       &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                     },
+                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                        # If true, &quot;List&quot; conditions will show a dropdown.
+                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                   },
                   &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                       # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -24773,11 +43315,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         },
         &quot;setBasicFilter&quot;: { # Sets the basic filter associated with a sheet. # Sets the basic filter on a sheet.
@@ -24906,6 +43448,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -24917,9 +43462,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -25068,6 +43610,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -25079,9 +43624,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -25207,6 +43749,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -25218,9 +43763,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -25347,6 +43889,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -25358,9 +43903,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -25397,11 +43939,11 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
             &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -25526,6 +44068,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -25537,9 +44082,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -25665,6 +44207,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -25676,9 +44221,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -25807,6 +44349,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -25818,9 +44363,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -25943,6 +44485,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -25954,21 +44499,16 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
           },
         },
         &quot;findReplace&quot;: { # Finds and replaces data in cells over a range, sheet, or all sheets. # Finds and replaces occurrences of some text with other text.
-          &quot;replacement&quot;: &quot;A String&quot;, # The value to use as the replacement.
-          &quot;matchEntireCell&quot;: True or False, # True if the find value should match the entire cell.
+          &quot;find&quot;: &quot;A String&quot;, # The value to search.
           &quot;includeFormulas&quot;: True or False, # True if the search should include cells with formulas.
               # False to skip cells with formulas.
           &quot;matchCase&quot;: True or False, # True if the search is case sensitive.
-          &quot;find&quot;: &quot;A String&quot;, # The value to search.
           &quot;searchByRegex&quot;: True or False, # True if the find value is a regex.
               # The regular expression and replacement should follow Java regex rules
               # at https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html.
@@ -26006,19 +44546,196 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;allSheets&quot;: True or False, # True to find/replace over all sheets.
           &quot;sheetId&quot;: 42, # The sheet to find/replace over.
+          &quot;matchEntireCell&quot;: True or False, # True if the find value should match the entire cell.
+          &quot;replacement&quot;: &quot;A String&quot;, # The value to use as the replacement.
         },
         &quot;updateSlicerSpec&quot;: { # Updates a slicer&#x27;s specifications. # Updates a slicer&#x27;s specifications.
             # (This does not move or resize a slicer. To move or resize a slicer use
             # UpdateEmbeddedObjectPositionRequest.
+          &quot;slicerId&quot;: 42, # The id of the slicer to update.
           &quot;spec&quot;: { # The specifications of a slicer. # The specification to apply to the slicer.
+            &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                # If not set, default to `True`.
+            &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+            &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                # If unspecified, defaults to `LEFT`
+            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
             &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
               &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                   # shown. Mutually exclusive with visible_foreground_color.
@@ -26140,6 +44857,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -26151,9 +44871,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -26302,6 +45019,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -26313,9 +45033,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -26441,6 +45158,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -26452,9 +45172,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -26581,6 +45298,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -26592,9 +45312,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -26727,6 +45444,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -26738,12 +45458,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -26863,6 +45580,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -26874,11 +45594,8 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
@@ -27005,6 +45722,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -27016,190 +45736,12 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
-            &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                # If not set, default to `True`.
-            &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-            &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                # If unspecified, defaults to `LEFT`
-            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
           },
           &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
               # The root `SlicerSpec` is implied and should not be specified. A single &quot;*&quot;`
               # can be used as short-hand for listing every field.
-          &quot;slicerId&quot;: 42, # The id of the slicer to update.
         },
         &quot;unmergeCells&quot;: { # Unmerges cells in the given range. # Unmerges merged cells.
           &quot;range&quot;: { # A range on a sheet. # The range within which all cells should be unmerged.
@@ -27233,11 +45775,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         },
         &quot;addSheet&quot;: { # Adds a new sheet. # Adds a sheet.
@@ -27266,16 +45808,14 @@
                 # (If the sheet is an object sheet, containing a chart or image, then
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
+              &quot;rowCount&quot;: 42, # The number of rows in the grid.
+              &quot;columnCount&quot;: 42, # The number of columns in the grid.
+              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
               &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
               &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
               &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
               &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-              &quot;rowCount&quot;: 42, # The number of rows in the grid.
-              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-              &quot;columnCount&quot;: 42, # The number of columns in the grid.
             },
-            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-                # This field cannot be changed once set.
             &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -27395,6 +45935,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -27406,10 +45949,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
+            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
             &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
                 # If tab_color is also set, this field takes precedence.
@@ -27533,6 +46075,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -27544,9 +46089,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -27558,1125 +46100,6 @@
           &quot;bandedRange&quot;: { # A banded (alternating colors) range in a sheet. # The banded range to add. The bandedRangeId
               # field is optional; if one is not set, an id will be randomly generated. (It
               # is an error to specify the ID of a range that already exists.)
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -28693,6 +46116,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -28815,6 +46922,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -28826,284 +46936,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -29230,6 +47064,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -29241,12 +47078,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -29365,6 +47204,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -29376,425 +47218,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -29826,11 +47249,1130 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
         },
@@ -29855,16 +48397,14 @@
                 # (If the sheet is an object sheet, containing a chart or image, then
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
+              &quot;rowCount&quot;: 42, # The number of rows in the grid.
+              &quot;columnCount&quot;: 42, # The number of columns in the grid.
+              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
               &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
               &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
               &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
               &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-              &quot;rowCount&quot;: 42, # The number of rows in the grid.
-              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-              &quot;columnCount&quot;: 42, # The number of columns in the grid.
             },
-            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-                # This field cannot be changed once set.
             &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -29984,6 +48524,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -29995,10 +48538,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
+            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
             &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
                 # If tab_color is also set, this field takes precedence.
@@ -30122,6 +48664,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -30133,9 +48678,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -30173,11 +48715,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;shiftDimension&quot;: &quot;A String&quot;, # The dimension which will be shifted when inserting cells.
               # If ROWS, existing cells will be shifted down.
@@ -30189,6 +48731,7 @@
         &quot;updateNamedRange&quot;: { # Updates properties of the named range with the specified # Updates a named range.
             # namedRangeId.
           &quot;namedRange&quot;: { # A named range. # The named range to update with the new properties.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
             &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
             &quot;range&quot;: { # A range on a sheet. # The range this represents.
                 # All indexes are zero-based.
@@ -30219,13 +48762,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
           },
           &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
               # The root `namedRange` is implied and should not be specified.
@@ -30239,16 +48781,78 @@
               # Indexes are half open: the start index is inclusive
               # and the end index is exclusive.
               # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             &quot;sheetId&quot;: 42, # The sheet this span is on.
             &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
             &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
           },
         },
         &quot;deleteDeveloperMetadata&quot;: { # A request to delete developer metadata. # Deletes developer metadata
           &quot;dataFilter&quot;: { # Filter that describes what data should be selected or returned from a # The data filter describing the criteria used to select which developer
               # metadata entry to delete.
               # request.
+            &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
+                # described by this DeveloperMetadataLookup.
+                # example, if only a metadata ID is specified this considers the
+                # DeveloperMetadata with that particular unique ID. If a metadata key is
+                # specified, this considers all developer metadata with that key.  If a
+                # key, visibility, and location type are all specified, this considers all
+                # developer metadata with that key and visibility that are associated with a
+                # location of that type.  In general, this
+                # selects all DeveloperMetadata that matches the intersection of all the
+                # specified fields; any field or combination of fields may be specified.
+              &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
+                  # associated with locations of the specified type.  For example, when this
+                  # field is specified as ROW this lookup
+                  # only considers developer metadata associated on rows.  If the field is left
+                  # unspecified, all location types are considered.  This field cannot be
+                  # specified as SPREADSHEET when
+                  # the locationMatchingStrategy
+                  # is specified as INTERSECTING or when the
+                  # metadataLocation is specified as a
+                  # non-spreadsheet location: spreadsheet metadata cannot intersect any other
+                  # developer metadata location.  This field also must be left unspecified when
+                  # the locationMatchingStrategy
+                  # is specified as EXACT.
+              &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                  # DeveloperMetadata.metadata_key.
+              &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
+                  # specified as EXACT, only developer metadata associated on the exact
+                  # location specified is matched.  If this field is specified to INTERSECTING,
+                  # developer metadata associated on intersecting locations is also
+                  # matched.  If left unspecified, this field assumes a default value of
+                  # INTERSECTING.
+                  # If this field is specified, a metadataLocation
+                  # must also be specified.
+              &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
+                  # the specified location.  This field either matches exact locations or all
+                  # intersecting locations according the specified
+                  # locationMatchingStrategy.
+                &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+                &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+                &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+                &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                    # a dimension. The specified DimensionRange must represent a single row
+                    # or column; it cannot be unbounded or span multiple rows or columns.
+                    # All indexes are zero-based.
+                    # Indexes are half open: the start index is inclusive
+                    # and the end index is exclusive.
+                    # Missing indexes indicate the range is unbounded on that side.
+                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                  &quot;sheetId&quot;: 42, # The sheet this span is on.
+                  &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                  &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+                },
+              },
+              &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
+                  # DeveloperMetadata.metadata_id.
+              &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                  # DeveloperMetadata.visibility.  If left unspecified, all developer
+                  # metadata visibile to the requesting project is considered.
+              &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+                  # DeveloperMetadata.metadata_value.
+            },
+            &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
             &quot;gridRange&quot;: { # A range on a sheet. # Selects data that matches the range described by the GridRange.
                 # All indexes are zero-based.
                 # Indexes are half open, e.g the start index is inclusive
@@ -30278,82 +48882,18 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
-                # described by this DeveloperMetadataLookup.
-                # example, if only a metadata ID is specified this considers the
-                # DeveloperMetadata with that particular unique ID. If a metadata key is
-                # specified, this considers all developer metadata with that key.  If a
-                # key, visibility, and location type are all specified, this considers all
-                # developer metadata with that key and visibility that are associated with a
-                # location of that type.  In general, this
-                # selects all DeveloperMetadata that matches the intersection of all the
-                # specified fields; any field or combination of fields may be specified.
-              &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
-                  # the specified location.  This field either matches exact locations or all
-                  # intersecting locations according the specified
-                  # locationMatchingStrategy.
-                &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-                &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-                &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-                &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                    # a dimension. The specified DimensionRange must represent a single row
-                    # or column; it cannot be unbounded or span multiple rows or columns.
-                    # All indexes are zero-based.
-                    # Indexes are half open: the start index is inclusive
-                    # and the end index is exclusive.
-                    # Missing indexes indicate the range is unbounded on that side.
-                  &quot;sheetId&quot;: 42, # The sheet this span is on.
-                  &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                  &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-                },
-              },
-              &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
-                  # DeveloperMetadata.metadata_id.
-              &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                  # DeveloperMetadata.visibility.  If left unspecified, all developer
-                  # metadata visibile to the requesting project is considered.
-              &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                  # DeveloperMetadata.metadata_value.
-              &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
-                  # associated with locations of the specified type.  For example, when this
-                  # field is specified as ROW this lookup
-                  # only considers developer metadata associated on rows.  If the field is left
-                  # unspecified, all location types are considered.  This field cannot be
-                  # specified as SPREADSHEET when
-                  # the locationMatchingStrategy
-                  # is specified as INTERSECTING or when the
-                  # metadataLocation is specified as a
-                  # non-spreadsheet location: spreadsheet metadata cannot intersect any other
-                  # developer metadata location.  This field also must be left unspecified when
-                  # the locationMatchingStrategy
-                  # is specified as EXACT.
-              &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
-                  # specified as EXACT, only developer metadata associated on the exact
-                  # location specified is matched.  If this field is specified to INTERSECTING,
-                  # developer metadata associated on intersecting locations is also
-                  # matched.  If left unspecified, this field assumes a default value of
-                  # INTERSECTING.
-                  # If this field is specified, a metadataLocation
-                  # must also be specified.
-              &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                  # DeveloperMetadata.metadata_key.
-            },
-            &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
           },
         },
         &quot;clearBasicFilter&quot;: { # Clears the basic filter, if any exists on the sheet. # Clears the basic filter on a sheet.
           &quot;sheetId&quot;: 42, # The sheet ID on which the basic filter should be cleared.
         },
         &quot;autoFill&quot;: { # Fills in more data based on existing data. # Automatically fills in more data based on existing data.
-          &quot;useAlternateSeries&quot;: True or False, # True if we should generate data with the &quot;alternate&quot; series.
-              # This differs based on the type and amount of source data.
           &quot;range&quot;: { # A range on a sheet. # The range to autofill. This will examine the range and detect
               # the location that has data and automatically fill that data
               # in to the rest of the range.
@@ -30385,11 +48925,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;sourceAndDestination&quot;: { # A combination of a source range and how to extend that source. # The source and destination areas to autofill.
               # This explicitly lists the source of the autofill and where to
@@ -30424,17 +48964,19 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
             &quot;fillLength&quot;: 42, # The number of rows or columns that data should be filled into.
                 # Positive numbers expand beyond the last row or last column
                 # of the source.  Negative numbers expand before the first row
                 # or first column of the source.
           },
+          &quot;useAlternateSeries&quot;: True or False, # True if we should generate data with the &quot;alternate&quot; series.
+              # This differs based on the type and amount of source data.
         },
         &quot;sortRange&quot;: { # Sorts data in rows based on a sort order per column. # Sorts data in a range.
           &quot;range&quot;: { # A range on a sheet. # The range to sort.
@@ -30466,11 +49008,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -30595,6 +49137,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -30606,9 +49151,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                   # to the top. Mutually exclusive with foreground_color, and must be an
@@ -30734,6 +49276,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -30745,9 +49290,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -30876,6 +49418,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -30887,9 +49432,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -31012,6 +49554,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -31023,1134 +49568,15 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           ],
         },
         &quot;updateBanding&quot;: { # Updates properties of the supplied banded range. # Updates a banded range
+          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
+              # The root `bandedRange` is implied and should not be specified.
+              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
           &quot;bandedRange&quot;: { # A banded (alternating colors) range in a sheet. # The banded range to update with the new properties.
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -32167,6 +49593,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -32289,6 +50399,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -32300,284 +50413,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -32704,6 +50541,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -32715,12 +50555,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -32839,6 +50681,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -32850,425 +50695,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -33300,21 +50726,1132 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `bandedRange` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-        },
-        &quot;appendDimension&quot;: { # Appends rows or columns to the end of a sheet. # Appends dimensions to the end of a sheet.
-          &quot;length&quot;: 42, # The number of rows or columns to append.
-          &quot;dimension&quot;: &quot;A String&quot;, # Whether rows or columns should be appended.
-          &quot;sheetId&quot;: 42, # The sheet to append rows or columns to.
         },
         &quot;addDimensionGroup&quot;: { # Creates a group over the specified range. # Creates a group over the specified range.
             #
@@ -33337,17 +51874,18 @@
               # Indexes are half open: the start index is inclusive
               # and the end index is exclusive.
               # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             &quot;sheetId&quot;: 42, # The sheet this span is on.
             &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
             &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
           },
         },
+        &quot;appendDimension&quot;: { # Appends rows or columns to the end of a sheet. # Appends dimensions to the end of a sheet.
+          &quot;sheetId&quot;: 42, # The sheet to append rows or columns to.
+          &quot;length&quot;: 42, # The number of rows or columns to append.
+          &quot;dimension&quot;: &quot;A String&quot;, # Whether rows or columns should be appended.
+        },
         &quot;deleteRange&quot;: { # Deletes a range of cells, shifting other cells into the deleted area. # Deletes a range of cells from a sheet, shifting the remaining cells.
-          &quot;shiftDimension&quot;: &quot;A String&quot;, # The dimension from which deleted cells will be replaced with.
-              # If ROWS, existing cells will be shifted upward to
-              # replace the deleted cells. If COLUMNS, existing cells
-              # will be shifted left to replace the deleted cells.
           &quot;range&quot;: { # A range on a sheet. # The range of cells to delete.
               # All indexes are zero-based.
               # Indexes are half open, e.g the start index is inclusive
@@ -33377,12 +51915,16 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
+          &quot;shiftDimension&quot;: &quot;A String&quot;, # The dimension from which deleted cells will be replaced with.
+              # If ROWS, existing cells will be shifted upward to
+              # replace the deleted cells. If COLUMNS, existing cells
+              # will be shifted left to replace the deleted cells.
         },
         &quot;pasteData&quot;: { # Inserts data into the spreadsheet starting at the specified coordinate. # Pastes data (HTML or delimited) into a sheet.
           &quot;data&quot;: &quot;A String&quot;, # The data to insert.
@@ -33396,18554 +51938,12 @@
           },
           &quot;type&quot;: &quot;A String&quot;, # How the data should be pasted.
         },
-        &quot;duplicateSheet&quot;: { # Duplicates the contents of a sheet. # Duplicates a sheet.
-          &quot;newSheetId&quot;: 42, # If set, the ID of the new sheet. If not set, an ID is chosen.
-              # If set, the ID must not conflict with any existing sheet ID.
-              # If set, it must be non-negative.
-          &quot;sourceSheetId&quot;: 42, # The sheet to duplicate.
-          &quot;insertSheetIndex&quot;: 42, # The zero-based index where the new sheet should be inserted.
-              # The index of all sheets after this are incremented.
-          &quot;newSheetName&quot;: &quot;A String&quot;, # The name of the new sheet.  If empty, a new name is chosen for you.
-        },
-        &quot;moveDimension&quot;: { # Moves one or more rows or columns. # Moves rows or columns to another location in a sheet.
-          &quot;destinationIndex&quot;: 42, # The zero-based start index of where to move the source data to,
-              # based on the coordinates *before* the source data is removed
-              # from the grid.  Existing data will be shifted down or right
-              # (depending on the dimension) to make room for the moved dimensions.
-              # The source dimensions are removed from the grid, so the
-              # the data may end up in a different index than specified.
-              #
-              # For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move
-              # `&quot;1&quot;` and `&quot;2&quot;` to between `&quot;3&quot;` and `&quot;4&quot;`, the source would be
-              # `ROWS [1..3)`,and the destination index would be `&quot;4&quot;`
-              # (the zero-based index of row 5).
-              # The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
-          &quot;source&quot;: { # A range along a single dimension on a sheet. # The source dimensions to move.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-        &quot;updateProtectedRange&quot;: { # Updates an existing protected range with the specified # Updates a protected range.
-            # protectedRangeId.
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `protectedRange` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-          &quot;protectedRange&quot;: { # A protected range. # The protected range to update with the new properties.
-            &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
-                # Unprotected ranges are only supported on protected sheets.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
-                # protected area.
-                # This field is read-only.
-            &quot;protectedRangeId&quot;: 42, # The ID of the protected range.
-                # This field is read-only.
-            &quot;description&quot;: &quot;A String&quot;, # The description of this protected range.
-            &quot;range&quot;: { # A range on a sheet. # The range that is being protected.
-                # The range may be fully unbounded, in which case this is considered
-                # a protected sheet.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
-            &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              &quot;groups&quot;: [ # The email addresses of groups with edit access to the protected range.
-                &quot;A String&quot;,
-              ],
-              &quot;domainUsersCanEdit&quot;: True or False, # True if anyone in the document&#x27;s domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              &quot;users&quot;: [ # The email addresses of users with edit access to the protected range.
-                &quot;A String&quot;,
-              ],
-            },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-          },
-        },
-        &quot;createDeveloperMetadata&quot;: { # A request to create developer metadata. # Creates new developer metadata
-          &quot;developerMetadata&quot;: { # Developer metadata associated with a location or object in a spreadsheet. # The developer metadata to create.
-              # Developer metadata may be used to associate arbitrary data with various
-              # parts of a spreadsheet and will remain associated at those locations as they
-              # move around and the spreadsheet is edited.  For example, if developer
-              # metadata is associated with row 5 and another row is then subsequently
-              # inserted above row 5, that original metadata will still be associated with
-              # the row it was first associated with (what is now row 6). If the associated
-              # object is deleted its metadata is deleted too.
-            &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-                # same key.  Developer metadata must always have a key specified.
-            &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-            &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-                # specified.
-            &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-                # specified when metadata is created, otherwise one will be randomly
-                # generated and assigned. Must be positive.
-            &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-              &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-              &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-              &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-              &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                  # a dimension. The specified DimensionRange must represent a single row
-                  # or column; it cannot be unbounded or span multiple rows or columns.
-                  # All indexes are zero-based.
-                  # Indexes are half open: the start index is inclusive
-                  # and the end index is exclusive.
-                  # Missing indexes indicate the range is unbounded on that side.
-                &quot;sheetId&quot;: 42, # The sheet this span is on.
-                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-              },
-            },
-          },
-        },
-        &quot;cutPaste&quot;: { # Moves data from the source to the destination. # Cuts data from one area and pastes it to another.
-          &quot;pasteType&quot;: &quot;A String&quot;, # What kind of data to paste.  All the source data will be cut, regardless
-              # of what is pasted.
-          &quot;destination&quot;: { # A coordinate in a sheet. # The top-left coordinate where the data should be pasted.
-              # All indexes are zero-based.
-            &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-            &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-            &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
-          },
-          &quot;source&quot;: { # A range on a sheet. # The source data to cut.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-        },
-        &quot;updateFilterView&quot;: { # Updates properties of the filter view. # Updates the properties of a filter view.
-          &quot;filter&quot;: { # A filter view. # The new properties of the filter view.
-            &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
-                # The map&#x27;s key is the column index, and the value is the criteria for
-                # that column.
-              &quot;a_key&quot;: { # Criteria for showing/hiding rows in a filter or filter view.
-                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
-                    # shown. Mutually exclusive with visible_foreground_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
-                    # (This does not override hidden_values -- if a value is listed there,
-                    #  it will still be hidden.)
-                    # BooleanConditions are used by conditional formatting,
-                    # data validation, and the criteria in filters.
-                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                      # on the condition type.  Some support zero values,
-                      # others one or two values,
-                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                    { # The value of the condition.
-                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                          # Valid only if the type is
-                          # DATE_BEFORE,
-                          # DATE_AFTER,
-                          # DATE_ON_OR_BEFORE or
-                          # DATE_ON_OR_AFTER.
-                          #
-                          # Relative dates are not supported in data validation.
-                          # They are supported only in conditional formatting and
-                          # conditional filters.
-                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                          # The value is parsed as if the user typed into a cell.
-                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                    },
-                  ],
-                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-                },
-                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
-                    # are shown. Mutually exclusive with visible_background_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
-                    # shown. This field is mutually exclusive with visible_foreground_color,
-                    # and must be set to an RGB-type color. If visible_background_color is
-                    # also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
-                    # are shown. This field is mutually exclusive with
-                    # visible_background_color, and must be set to an RGB-type color. If
-                    # visible_foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;hiddenValues&quot;: [ # Values that should be hidden.
-                  &quot;A String&quot;,
-                ],
-              },
-            },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this filter view is backed by, if any.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-            &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
-                # are equal in the earlier specifications.
-              { # A sort order associated with a specific column or row.
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to sort by; cells with this fill color are sorted
-                    # to the top. Mutually exclusive with foreground_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
-                    # to the top. Mutually exclusive with foreground_color, and must be an
-                    # RGB-type color. If background_color is also set, this field takes
-                    # precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
-                &quot;dimensionIndex&quot;: 42, # The dimension the sort should be applied to.
-                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color to sort by; cells with this foreground color are
-                    # sorted to the top. Mutually exclusive with background_color, and must
-                    # be an RGB-type color. If foreground_color is also set, this field takes
-                    # precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
-                    # sorted to the top. Mutually exclusive with background_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            ],
-            &quot;title&quot;: &quot;A String&quot;, # The name of the filter view.
-            &quot;range&quot;: { # A range on a sheet. # The range this filter view covers.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
-          },
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `filter` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-        },
-        &quot;updateDimensionGroup&quot;: { # Updates the state of the specified group. # Updates the state of the specified group.
-          &quot;dimensionGroup&quot;: { # A group over an interval of rows or columns on a sheet, which can contain or # The group whose state should be updated. The range and depth of the group
-              # should specify a valid group on the sheet, and all other fields updated.
-              # be contained within other groups. A group can be collapsed or expanded as a
-              # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
-            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                # collapsed if an overlapping group at a shallower depth is expanded.
-                #
-                # A true value does not imply that all dimensions within the group are
-                # hidden, since a dimension&#x27;s visibility can change independently from this
-                # group property. However, when this property is updated, all dimensions
-                # within it are set to hidden if this field is true, or set to visible if
-                # this field is false.
-            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `dimensionGroup` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-        },
-        &quot;deleteFilterView&quot;: { # Deletes a particular filter view. # Deletes a filter view from a sheet.
-          &quot;filterId&quot;: 42, # The ID of the filter to delete.
-        },
-        &quot;addProtectedRange&quot;: { # Adds a new protected range. # Adds a protected range.
-          &quot;protectedRange&quot;: { # A protected range. # The protected range to be added. The
-              # protectedRangeId field is optional; if
-              # one is not set, an id will be randomly generated. (It is an error to
-              # specify the ID of a range that already exists.)
-            &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
-                # Unprotected ranges are only supported on protected sheets.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
-                # protected area.
-                # This field is read-only.
-            &quot;protectedRangeId&quot;: 42, # The ID of the protected range.
-                # This field is read-only.
-            &quot;description&quot;: &quot;A String&quot;, # The description of this protected range.
-            &quot;range&quot;: { # A range on a sheet. # The range that is being protected.
-                # The range may be fully unbounded, in which case this is considered
-                # a protected sheet.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
-            &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              &quot;groups&quot;: [ # The email addresses of groups with edit access to the protected range.
-                &quot;A String&quot;,
-              ],
-              &quot;domainUsersCanEdit&quot;: True or False, # True if anyone in the document&#x27;s domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              &quot;users&quot;: [ # The email addresses of users with edit access to the protected range.
-                &quot;A String&quot;,
-              ],
-            },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-          },
-        },
-        &quot;addChart&quot;: { # Adds a chart to a sheet in the spreadsheet. # Adds a chart.
-          &quot;chart&quot;: { # A chart embedded in a sheet. # The chart that should be added to the spreadsheet, including the position
-              # where it should be placed. The chartId
-              # field is optional; if one is not set, an id will be randomly generated. (It
-              # is an error to specify the ID of an embedded object that already exists.)
-            &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
-              &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
-                  # chart&lt;/a&gt;.
-                &quot;data&quot;: [ # The Candlestick chart data.
-                    # Only one CandlestickData is supported.
-                  { # The Candlestick chart data, each containing the low, open, close, and high
-                      # values for a series.
-                    &quot;openSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the open/initial value for each
-                        # candle. This is the bottom of the candle body.  If less than the close
-                        # value the candle will be filled.  Otherwise the candle will be hollow.
-                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
-                    },
-                    &quot;highSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the high/maximum value for each
-                        # candle. This is the top of the candle&#x27;s center line.
-                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
-                    },
-                    &quot;closeSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the close/final value for each candle.
-                        # This is the top of the candle body.  If greater than the open value the
-                        # candle will be filled.  Otherwise the candle will be hollow.
-                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
-                    },
-                    &quot;lowSeries&quot;: { # The series of a CandlestickData. # The range data (vertical axis) for the low/minimum value for each candle.
-                        # This is the bottom of the candle&#x27;s center line.
-                      &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickSeries.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
-                    },
-                  },
-                ],
-                &quot;domain&quot;: { # The domain of a CandlestickChart. # The domain data (horizontal axis) for the candlestick chart.  String data
-                    # will be treated as discrete labels, other data will be treated as
-                    # continuous values.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the CandlestickDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-              },
-              &quot;histogramChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/histogram&quot;&gt;histogram chart&lt;/a&gt;. # A histogram chart specification.
-                  # A histogram chart groups data items into bins, displaying each bin as a
-                  # column of stacked items.  Histograms are used to display the distribution
-                  # of a dataset.  Each column of items represents a range into which those
-                  # items fall.  The number of bins can be chosen automatically or specified
-                  # explicitly.
-                &quot;showItemDividers&quot;: True or False, # Whether horizontal divider lines should be displayed between items in each
-                    # column.
-                &quot;series&quot;: [ # The series for a histogram may be either a single series of values to be
-                    # bucketed or multiple series, each of the same length, containing the name
-                    # of the series followed by the values to be bucketed for that series.
-                  { # A histogram series containing the series color and data.
-                    &quot;barColorStyle&quot;: { # A color value. # The color of the column representing this series in each bucket.
-                        # This field is optional.
-                        # If bar_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;barColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column representing this series in each bucket.
-                        # This field is optional.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                ],
-                &quot;legendPosition&quot;: &quot;A String&quot;, # The position of the chart legend.
-                &quot;bucketSize&quot;: 3.14, # By default the bucket size (the range of values stacked in a single
-                    # column) is chosen automatically, but it may be overridden here.
-                    # E.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc.
-                    # Cannot be negative.
-                    # This field is optional.
-                &quot;outlierPercentile&quot;: 3.14, # The outlier percentile is used to ensure that outliers do not adversely
-                    # affect the calculation of bucket sizes.  For example, setting an outlier
-                    # percentile of 0.05 indicates that the top and bottom 5% of values when
-                    # calculating buckets.  The values are still included in the chart, they will
-                    # be added to the first or last buckets instead of their own buckets.
-                    # Must be between 0.0 and 0.5.
-              },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
-                &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
-                    # on the treemap chart. These levels are not interactive and are shown
-                    # without their labels. Defaults to 0 if not specified.
-                &quot;levels&quot;: 42, # The number of data levels to show on the treemap chart. These levels are
-                    # interactive and are shown with their labels. Defaults to 2 if not
-                    # specified.
-                &quot;hideTooltips&quot;: True or False, # True to hide tooltips.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The text format for all labels on the chart.
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-                &quot;colorScale&quot;: { # A color scale for a treemap chart. # The color scale for data cells in the treemap chart. Data cells are
-                    # assigned colors based on their color values. These color values come from
-                    # color_data, or from size_data if color_data is not specified.
-                    # Cells with color values less than or equal to min_value will
-                    # have minValueColor as their
-                    # background color. Cells with color values greater than or equal to
-                    # max_value will have
-                    # maxValueColor as their background
-                    # color. Cells with color values between min_value and max_value will
-                    # have background colors on a gradient between
-                    # minValueColor and
-                    # maxValueColor, the midpoint of
-                    # the gradient being midValueColor.
-                    # Cells with missing or non-numeric color values will have
-                    # noDataColor as their background
-                    # color.
-                  &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # If no_data_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
-                      # minValue. Defaults to #dc3912 if not
-                      # specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
-                      # minValue. Defaults to #dc3912 if not
-                      # specified.
-                      # If min_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
-                      # minValue and
-                      # maxValue. Defaults to #efe6dc if not
-                      # specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
-                      # minValue and
-                      # maxValue. Defaults to #efe6dc if not
-                      # specified.
-                      # If mid_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # If max_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                },
-                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for header cells.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
-                    # If header_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual minimum value from color_data, or the minimum value from
-                    # size_data if color_data is not specified.
-                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual maximum value from color_data, or the maximum value from
-                    # size_data if color_data is not specified.
-                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                    # This field is optional. If not specified, size_data is used to
-                    # determine background colors. If specified, the data is expected to be
-                    # numeric. color_scale will determine how the values in this data map to
-                    # data cell background colors.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                    # expected to be numeric. The cells corresponding to non-numeric or missing
-                    # data will not be rendered. If color_data is not specified, this data
-                    # is used to determine data cell background colors as well.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
-                  # See BasicChartType for the list of all
-                  # charts this supports.
-                  # of charts this supports.
-                &quot;series&quot;: [ # The data this chart is visualizing.
-                  { # A single series of data in a chart.
-                      # For example, if charting stock prices over time, multiple series may exist,
-                      # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                        # chartType is AREA,
-                        # LINE, or SCATTER.
-                        # COMBO charts are also supported if the
-                        # series chart type is
-                        # AREA or LINE.
-                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                      &quot;width&quot;: 42, # The thickness of the line, in px.
-                    },
-                    &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
-                        # this series.  If empty, a default color is used.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
-                        # For example, if charting stocks over time, the &quot;Volume&quot; series
-                        # may want to be pinned to the right with the prices pinned to the left,
-                        # because the scale of trading volume is different than the scale of
-                        # prices.
-                        # It is an error to specify an axis that isn&#x27;t a valid minor axis
-                        # for the chart&#x27;s type.
-                    &quot;type&quot;: &quot;A String&quot;, # The type of this series. Valid only if the
-                        # chartType is
-                        # COMBO.
-                        # Different types will change the way the series is visualized.
-                        # Only LINE, AREA,
-                        # and COLUMN are supported.
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color for elements (such as bars, lines, and points) associated with
-                        # this series.  If empty, a default color is used.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                ],
-                &quot;legendPosition&quot;: &quot;A String&quot;, # The position of the chart legend.
-                &quot;threeDimensional&quot;: True or False, # True to make the chart 3D.
-                    # Applies to Bar and Column charts.
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type for charts that support vertical stacking.
-                    # Applies to Area, Bar, Column, Combo, and Stepped Area charts.
-                &quot;domains&quot;: [ # The domain of data this is charting.
-                    # Only a single domain is supported.
-                  { # The domain of a chart.
-                      # For example, if charting stock prices over time, this would be the date.
-                    &quot;domain&quot;: { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
-                        # this is the data representing the dates.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  },
-                ],
-                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                    # Applies to Line charts.
-                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                    # If not set, Google Sheets will guess how many rows are headers based
-                    # on the data.
-                    #
-                    # (Note that BasicChartAxis.title may override the axis title
-                    #  inferred from the header values.)
-                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                    # chart area.
-                &quot;axis&quot;: [ # The axis on the chart.
-                  { # An axis of the chart.
-                      # A chart may not have more than one axis per
-                      # axis position.
-                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
-                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                        # Only valid if the axis is not associated with the domain.
-                        # Absent values indicate that the field isn&#x27;t specified.
-                      &quot;fontSize&quot;: 42, # The size of the font.
-                      &quot;underline&quot;: True or False, # True if the text is underlined.
-                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                          # If foreground_color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
-                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
-                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                    },
-                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                        # values in an axis).
-                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a minimum value that looks good for the data.
-                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a maximum value that looks good for the data.
-                    },
-                  },
-                ],
-                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                    # segments of lines in a line chart will be missing).  To eliminate these
-                    # gaps set this to true.
-                    # Applies to Line, Area, and Combo charts.
-              },
-              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-              &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                  &quot;width&quot;: 42, # The thickness of the line, in px.
-                },
-                &quot;series&quot;: [ # The data this waterfall chart is visualizing.
-                  { # A single series of data for a waterfall chart.
-                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                        # subtotals are defined is not significant. Only one subtotal may be
-                        # defined for each data point.
-                      { # A custom subtotal column for a waterfall chart series.
-                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                            # data_is_subtotal is true, the data point at this index is the
-                            # subtotal. Otherwise, the subtotal appears after the data point with
-                            # this index. A series can have multiple subtotals at arbitrary indices,
-                            # but subtotals do not affect the indices of the data points. For
-                            # example, if a series has three data points, their indices will always
-                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                            # what data points they are associated with.
-                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                            # the subtotal will be computed and appear after the data point.
-                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                      },
-                    ],
-                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                        # a subtotal column will appear at the end of each series. Setting this
-                        # field to true will hide that subtotal column for this series.
-                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
-                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
-                          # If color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
-                    },
-                    &quot;negativeColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with negative values.
-                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
-                          # If color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
-                    },
-                    &quot;subtotalColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all subtotal columns in this series.
-                      &quot;colorStyle&quot;: { # A color value. # The color of the column.
-                          # If color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
-                    },
-                  },
-                ],
-                &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
-              },
-              &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
-                  # Strikethrough and underline are not supported.
-                  # Absent values indicate that the field isn&#x27;t specified.
-                &quot;fontSize&quot;: 42, # The size of the font.
-                &quot;underline&quot;: True or False, # True if the text is underlined.
-                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                    # If foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;bold&quot;: True or False, # True if the text is bold.
-                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
-                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-              },
-              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                  # Org charts require a unique set of labels in labels and may
-                  # optionally include parent_labels and tooltips.
-                  # parent_labels contain, for each node, the label identifying the parent
-                  # node.  tooltips contain, for each node, an optional tooltip.
-                  #
-                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                    # A blank value indicates that the node has no parent and is a top-level
-                    # node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                    # If selected_node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                    # If node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                    # results in no tooltip being displayed for the node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                    # must be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
-                &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
-                &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;threeDimensional&quot;: True or False, # True if the pie is three dimensional.
-                &quot;pieHole&quot;: 3.14, # The size of the hole in the pie chart.
-                &quot;domain&quot;: { # The data included in a domain or series. # The data that covers the domain of the pie chart.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                  # for accessibility.
-              &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
-                  # This field is optional.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-              },
-              &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
-                  # axis labels, legend).  If a font is specified for a specific part of the
-                  # chart it will override this font name.
-              &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. # The title text format.
-                  # Strikethrough and underline are not supported.
-                  # Absent values indicate that the field isn&#x27;t specified.
-                &quot;fontSize&quot;: 42, # The size of the font.
-                &quot;underline&quot;: True or False, # True if the text is underlined.
-                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                    # If foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;bold&quot;: True or False, # True if the text is bold.
-                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
-                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-              },
-              &quot;maximized&quot;: True or False, # True to make a chart fill the entire space in which it&#x27;s rendered with
-                  # minimum padding.  False to use the default padding.
-                  # (Not applicable to Geo and Org charts.)
-              &quot;titleTextPosition&quot;: { # Position settings for text. # The title text position.
-                  # This field is optional.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-              },
-              &quot;scorecardChart&quot;: { # A scorecard chart. Scorecard charts are used to highlight key performance # A scorecard chart specification.
-                  # indicators, known as KPIs, on the spreadsheet. A scorecard chart can
-                  # represent things like total sales, average cost, or a top selling item. You
-                  # can specify a single data value, or aggregate over a range of data.
-                  # Percentage or absolute difference from a baseline value can be highlighted,
-                  # like changes over time.
-                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                    # This field is optional.
-                &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
-                    # This field is optional.
-                &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
-                    # 10 can be used to divide all values in the chart by 10.
-                    # This field is optional.
-                &quot;keyValueData&quot;: { # The data included in a domain or series. # The data for scorecard key value.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;baselineValueData&quot;: { # The data included in a domain or series. # The data for scorecard baseline value.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
-                    # This field is needed only if baseline_value_data is specified.
-                  &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
-                      # Absent values indicate that the field isn&#x27;t specified.
-                    &quot;fontSize&quot;: 42, # The size of the font.
-                    &quot;underline&quot;: True or False, # True if the text is underlined.
-                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                        # If foreground_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
-                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
-                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                  },
-                  &quot;description&quot;: &quot;A String&quot;, # Description which is appended after the baseline value.
-                      # This field is optional.
-                  &quot;positiveColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # If positive_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # If negative_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
-                      # Absent values indicate that the field isn&#x27;t specified.
-                    &quot;fontSize&quot;: 42, # The size of the font.
-                    &quot;underline&quot;: True or False, # True if the text is underlined.
-                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                        # If foreground_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
-                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
-                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                },
-                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                    # chart. This field is used only when number_format_source is set to
-                    # CUSTOM. This field is optional.
-                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                      # This field is optional.
-                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                      # This field is optional.
-                },
-              },
-              &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # If background_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-              &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
-              &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                    # 0 is fully transparent and 1 is fully opaque.
-                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                    # the bubbles at different sizes relative to each other.
-                    # If specified, group_ids must also be specified.  This field is
-                    # optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
-                    # If specific, the field must be a positive value.
-                &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
-                    # If specified, the field must be a positive value.
-                &quot;bubbleBorderColorStyle&quot;: { # A color value. # The bubble border color.
-                    # If bubble_border_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
-                    # ID are drawn in the same color. If bubble_sizes is specified then
-                    # this field must also be specified but may contain blank values.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;series&quot;: { # The data included in a domain or series. # The data contianing the bubble y-values.  These values locate the bubbles
-                    # in the chart vertically.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;bubbleLabels&quot;: { # The data included in a domain or series. # The data containing the bubble labels.  These do not need to be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the chart should be drawn.
-                &quot;domain&quot;: { # The data included in a domain or series. # The data containing the bubble x-values.  These values locate the bubbles
-                    # in the chart horizontally.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. # The format of the text inside the bubbles.
-                    # Underline and Strikethrough are not supported.
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-              },
-            },
-            &quot;chartId&quot;: 42, # The ID of the chart.
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
-                },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
-              },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
-            },
-          },
-        },
-        &quot;addSlicer&quot;: { # Adds a slicer to a sheet in the spreadsheet. # Adds a slicer.
-          &quot;slicer&quot;: { # A slicer in a sheet. # The slicer that should be added to the spreadsheet, including
-              # the position where it should be placed. The slicerId field is optional; if one is not set, an id
-              # will be randomly generated. (It is an error to specify the ID
-              # of a slicer that already exists.)
-            &quot;slicerId&quot;: 42, # The ID of the slicer.
-            &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
-              &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
-                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
-                    # shown. Mutually exclusive with visible_foreground_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
-                    # (This does not override hidden_values -- if a value is listed there,
-                    #  it will still be hidden.)
-                    # BooleanConditions are used by conditional formatting,
-                    # data validation, and the criteria in filters.
-                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                      # on the condition type.  Some support zero values,
-                      # others one or two values,
-                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                    { # The value of the condition.
-                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                          # Valid only if the type is
-                          # DATE_BEFORE,
-                          # DATE_AFTER,
-                          # DATE_ON_OR_BEFORE or
-                          # DATE_ON_OR_AFTER.
-                          #
-                          # Relative dates are not supported in data validation.
-                          # They are supported only in conditional formatting and
-                          # conditional filters.
-                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                          # The value is parsed as if the user typed into a cell.
-                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                    },
-                  ],
-                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-                },
-                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
-                    # are shown. Mutually exclusive with visible_background_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
-                    # shown. This field is mutually exclusive with visible_foreground_color,
-                    # and must be set to an RGB-type color. If visible_background_color is
-                    # also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
-                    # are shown. This field is mutually exclusive with
-                    # visible_background_color, and must be set to an RGB-type color. If
-                    # visible_foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;hiddenValues&quot;: [ # Values that should be hidden.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. # The text format of title in the slicer.
-                  # Absent values indicate that the field isn&#x27;t specified.
-                &quot;fontSize&quot;: 42, # The size of the font.
-                &quot;underline&quot;: True or False, # True if the text is underlined.
-                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                    # If foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;bold&quot;: True or False, # True if the text is bold.
-                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
-                &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-              },
-              &quot;title&quot;: &quot;A String&quot;, # The title of the slicer.
-              &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the slicer.
-                  # If background_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                  # If not set, default to `True`.
-              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                  # If unspecified, defaults to `LEFT`
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
-                # existing sheet. Also, width and height of slicer can be automatically
-                # adjusted to keep it within permitted limits.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
-                },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
-              },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
-            },
-          },
-        },
-        &quot;updateBorders&quot;: { # Updates the borders of a range. # Updates the borders in a range of cells.
-            # If a field is not set in the request, that means the border remains as-is.
-            # For example, with two subsequent UpdateBordersRequest:
-            #
-            #  1. range: A1:A5 `{ top: RED, bottom: WHITE }`
-            #  2. range: A1:A5 `{ left: BLUE }`
-            #
-            # That would result in A1:A5 having a borders of
-            # `{ top: RED, bottom: WHITE, left: BLUE }`.
-            # If you want to clear a border, explicitly set the style to
-            # NONE.
-          &quot;innerHorizontal&quot;: { # A border along a cell. # The horizontal border to put within the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;innerVertical&quot;: { # A border along a cell. # The vertical border to put within the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;right&quot;: { # A border along a cell. # The border to put at the right of the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;bottom&quot;: { # A border along a cell. # The border to put at the bottom of the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;left&quot;: { # A border along a cell. # The border to put at the left of the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;top&quot;: { # A border along a cell. # The border to put at the top of the range.
-            &quot;width&quot;: 42, # The width of the border, in pixels.
-                # Deprecated; the width is determined by the &quot;style&quot; field.
-            &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                # If color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-          },
-          &quot;range&quot;: { # A range on a sheet. # The range whose borders should be updated.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-        },
-        &quot;deleteDimension&quot;: { # Deletes the dimensions from the sheet. # Deletes rows or columns in a sheet.
-          &quot;range&quot;: { # A range along a single dimension on a sheet. # The dimensions to delete from the sheet.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-        &quot;mergeCells&quot;: { # Merges all cells in the range. # Merges cells together.
-          &quot;range&quot;: { # A range on a sheet. # The range of cells to merge.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-          &quot;mergeType&quot;: &quot;A String&quot;, # How the cells should be merged.
-        },
-        &quot;updateConditionalFormatRule&quot;: { # Updates a conditional format rule at the given index, # Updates an existing conditional format rule.
-            # or moves a conditional format rule to another index.
-          &quot;sheetId&quot;: 42, # The sheet of the rule to move.  Required if new_index is set,
-              # unused otherwise.
-          &quot;newIndex&quot;: 42, # The zero-based new index the rule should end up at.
-          &quot;index&quot;: 42, # The zero-based index of the rule that should be replaced or moved.
-          &quot;rule&quot;: { # A rule describing a conditional format. # The rule that should replace the rule at the given index.
-            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
-                # All the ranges must be on the same grid.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
-              &quot;format&quot;: { # The format of a cell. # The format to apply.
-                  # Conditional formatting can only apply a subset of formatting:
-                  # bold, italic,
-                  # strikethrough,
-                  # foreground color &amp;
-                  # background color.
-                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
-                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
-                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
-                      # the user&#x27;s locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
-                      # more information about the supported patterns.
-                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
-                      # When writing, this field must be set.
-                },
-                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
-                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                },
-                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
-                    # If background_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
-            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
-                # the interpolation points listed. The format of a cell will vary
-                # based on its contents as compared to the values of the interpolation
-                # points.
-              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-            },
-          },
-        },
-        &quot;duplicateFilterView&quot;: { # Duplicates a particular filter view. # Duplicates a filter view.
-          &quot;filterId&quot;: 42, # The ID of the filter being duplicated.
-        },
-        &quot;textToColumns&quot;: { # Splits a column of text into multiple columns, # Converts a column of text into many columns of text.
-            # based on a delimiter in each cell.
-          &quot;source&quot;: { # A range on a sheet. # The source data range.  This must span exactly one column.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-          &quot;delimiter&quot;: &quot;A String&quot;, # The delimiter to use. Used only if delimiterType is
-              # CUSTOM.
-          &quot;delimiterType&quot;: &quot;A String&quot;, # The delimiter type to use.
-        },
-        &quot;setDataValidation&quot;: { # Sets a data validation rule to every cell in the range. # Sets data validation for one or more cells.
-            # To clear validation in a range, call this with no rule specified.
-          &quot;range&quot;: { # A range on a sheet. # The range the data validation rule should apply to.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-          &quot;rule&quot;: { # A data validation rule. # The data validation rule to set on each cell in the range,
-              # or empty to clear the data validation in the range.
-            &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                # If true, &quot;List&quot; conditions will show a dropdown.
-            &quot;strict&quot;: True or False, # True if invalid data should be rejected.
-            &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
-            &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
-                # BooleanConditions are used by conditional formatting,
-                # data validation, and the criteria in filters.
-              &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                  # on the condition type.  Some support zero values,
-                  # others one or two values,
-                  # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                { # The value of the condition.
-                  &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                      # Valid only if the type is
-                      # DATE_BEFORE,
-                      # DATE_AFTER,
-                      # DATE_ON_OR_BEFORE or
-                      # DATE_ON_OR_AFTER.
-                      #
-                      # Relative dates are not supported in data validation.
-                      # They are supported only in conditional formatting and
-                      # conditional filters.
-                  &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                      # The value is parsed as if the user typed into a cell.
-                      # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                },
-              ],
-              &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-            },
-          },
-        },
-        &quot;updateDimensionProperties&quot;: { # Updates properties of dimensions within the specified range. # Updates dimensions&#x27; properties.
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `properties` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-          &quot;range&quot;: { # A range along a single dimension on a sheet. # The rows or columns to update.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-          &quot;properties&quot;: { # Properties about a dimension. # Properties to update.
-            &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-            &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
-                # This field is read-only.
-            &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
-            &quot;developerMetadata&quot;: [ # The developer metadata associated with a single row or column.
-              { # Developer metadata associated with a location or object in a spreadsheet.
-                  # Developer metadata may be used to associate arbitrary data with various
-                  # parts of a spreadsheet and will remain associated at those locations as they
-                  # move around and the spreadsheet is edited.  For example, if developer
-                  # metadata is associated with row 5 and another row is then subsequently
-                  # inserted above row 5, that original metadata will still be associated with
-                  # the row it was first associated with (what is now row 6). If the associated
-                  # object is deleted its metadata is deleted too.
-                &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-                    # same key.  Developer metadata must always have a key specified.
-                &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-                &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-                    # specified.
-                &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-                    # specified when metadata is created, otherwise one will be randomly
-                    # generated and assigned. Must be positive.
-                &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-                  &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-                  &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-                  &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-                  &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                      # a dimension. The specified DimensionRange must represent a single row
-                      # or column; it cannot be unbounded or span multiple rows or columns.
-                      # All indexes are zero-based.
-                      # Indexes are half open: the start index is inclusive
-                      # and the end index is exclusive.
-                      # Missing indexes indicate the range is unbounded on that side.
-                    &quot;sheetId&quot;: 42, # The sheet this span is on.
-                    &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                    &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                    &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-                  },
-                },
-              },
-            ],
-          },
-        },
-        &quot;addConditionalFormatRule&quot;: { # Adds a new conditional format rule at the given index. # Adds a new conditional format rule.
-            # All subsequent rules&#x27; indexes are incremented.
-          &quot;index&quot;: 42, # The zero-based index where the rule should be inserted.
-          &quot;rule&quot;: { # A rule describing a conditional format. # The rule to add.
-            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
-                # All the ranges must be on the same grid.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
-              &quot;format&quot;: { # The format of a cell. # The format to apply.
-                  # Conditional formatting can only apply a subset of formatting:
-                  # bold, italic,
-                  # strikethrough,
-                  # foreground color &amp;
-                  # background color.
-                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
-                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
-                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
-                      # the user&#x27;s locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
-                      # more information about the supported patterns.
-                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
-                      # When writing, this field must be set.
-                },
-                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
-                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                },
-                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
-                    # If background_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
-            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
-                # the interpolation points listed. The format of a cell will vary
-                # based on its contents as compared to the values of the interpolation
-                # points.
-              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-            },
-          },
-        },
-        &quot;copyPaste&quot;: { # Copies data from the source to the destination. # Copies data from one area and pastes it to another.
-          &quot;pasteOrientation&quot;: &quot;A String&quot;, # How that data should be oriented when pasting.
-          &quot;pasteType&quot;: &quot;A String&quot;, # What kind of data to paste.
-          &quot;destination&quot;: { # A range on a sheet. # The location to paste to. If the range covers a span that&#x27;s
-              # a multiple of the source&#x27;s height or width, then the
-              # data will be repeated to fill in the destination range.
-              # If the range is smaller than the source range, the entire
-              # source data will still be copied (beyond the end of the destination range).
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-          &quot;source&quot;: { # A range on a sheet. # The source range to copy.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-        },
-        &quot;updateDeveloperMetadata&quot;: { # A request to update properties of developer metadata. # Updates an existing developer metadata entry
-            # Updates the properties of the developer metadata selected by the filters to
-            # the values provided in the DeveloperMetadata resource.  Callers must
-            # specify the properties they wish to update in the fields parameter, as well
-            # as specify at least one DataFilter matching the metadata they wish to
-            # update.
-          &quot;fields&quot;: &quot;A String&quot;, # The fields that should be updated.  At least one field must be specified.
-              # The root `developerMetadata` is implied and should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-          &quot;dataFilters&quot;: [ # The filters matching the developer metadata entries to update.
-            { # Filter that describes what data should be selected or returned from a
-                # request.
-              &quot;gridRange&quot;: { # A range on a sheet. # Selects data that matches the range described by the GridRange.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
-                  # described by this DeveloperMetadataLookup.
-                  # example, if only a metadata ID is specified this considers the
-                  # DeveloperMetadata with that particular unique ID. If a metadata key is
-                  # specified, this considers all developer metadata with that key.  If a
-                  # key, visibility, and location type are all specified, this considers all
-                  # developer metadata with that key and visibility that are associated with a
-                  # location of that type.  In general, this
-                  # selects all DeveloperMetadata that matches the intersection of all the
-                  # specified fields; any field or combination of fields may be specified.
-                &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
-                    # the specified location.  This field either matches exact locations or all
-                    # intersecting locations according the specified
-                    # locationMatchingStrategy.
-                  &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-                  &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-                  &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-                  &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                      # a dimension. The specified DimensionRange must represent a single row
-                      # or column; it cannot be unbounded or span multiple rows or columns.
-                      # All indexes are zero-based.
-                      # Indexes are half open: the start index is inclusive
-                      # and the end index is exclusive.
-                      # Missing indexes indicate the range is unbounded on that side.
-                    &quot;sheetId&quot;: 42, # The sheet this span is on.
-                    &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                    &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                    &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-                  },
-                },
-                &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
-                    # DeveloperMetadata.metadata_id.
-                &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                    # DeveloperMetadata.visibility.  If left unspecified, all developer
-                    # metadata visibile to the requesting project is considered.
-                &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                    # DeveloperMetadata.metadata_value.
-                &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
-                    # associated with locations of the specified type.  For example, when this
-                    # field is specified as ROW this lookup
-                    # only considers developer metadata associated on rows.  If the field is left
-                    # unspecified, all location types are considered.  This field cannot be
-                    # specified as SPREADSHEET when
-                    # the locationMatchingStrategy
-                    # is specified as INTERSECTING or when the
-                    # metadataLocation is specified as a
-                    # non-spreadsheet location: spreadsheet metadata cannot intersect any other
-                    # developer metadata location.  This field also must be left unspecified when
-                    # the locationMatchingStrategy
-                    # is specified as EXACT.
-                &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
-                    # specified as EXACT, only developer metadata associated on the exact
-                    # location specified is matched.  If this field is specified to INTERSECTING,
-                    # developer metadata associated on intersecting locations is also
-                    # matched.  If left unspecified, this field assumes a default value of
-                    # INTERSECTING.
-                    # If this field is specified, a metadataLocation
-                    # must also be specified.
-                &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-                    # DeveloperMetadata.metadata_key.
-              },
-              &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
-            },
-          ],
-          &quot;developerMetadata&quot;: { # Developer metadata associated with a location or object in a spreadsheet. # The value that all metadata matched by the data filters will be updated to.
-              # Developer metadata may be used to associate arbitrary data with various
-              # parts of a spreadsheet and will remain associated at those locations as they
-              # move around and the spreadsheet is edited.  For example, if developer
-              # metadata is associated with row 5 and another row is then subsequently
-              # inserted above row 5, that original metadata will still be associated with
-              # the row it was first associated with (what is now row 6). If the associated
-              # object is deleted its metadata is deleted too.
-            &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-                # same key.  Developer metadata must always have a key specified.
-            &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-            &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-                # specified.
-            &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-                # specified when metadata is created, otherwise one will be randomly
-                # generated and assigned. Must be positive.
-            &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-              &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-              &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-              &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-              &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                  # a dimension. The specified DimensionRange must represent a single row
-                  # or column; it cannot be unbounded or span multiple rows or columns.
-                  # All indexes are zero-based.
-                  # Indexes are half open: the start index is inclusive
-                  # and the end index is exclusive.
-                  # Missing indexes indicate the range is unbounded on that side.
-                &quot;sheetId&quot;: 42, # The sheet this span is on.
-                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-              },
-            },
-          },
-        },
-        &quot;addNamedRange&quot;: { # Adds a named range to the spreadsheet. # Adds a named range.
-          &quot;namedRange&quot;: { # A named range. # The named range to add. The namedRangeId
-              # field is optional; if one is not set, an id will be randomly generated. (It
-              # is an error to specify the ID of a range that already exists.)
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-            &quot;range&quot;: { # A range on a sheet. # The range this represents.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-          },
-        },
-        &quot;updateEmbeddedObjectPosition&quot;: { # Update an embedded object&#x27;s position (such as a moving or resizing a # Updates an embedded object&#x27;s (e.g. chart, image) position.
-            # chart or image).
-          &quot;objectId&quot;: 42, # The ID of the object to moved.
-          &quot;newPosition&quot;: { # The position of an embedded object such as a chart. # An explicit position to move the embedded object to.
-              # If newPosition.sheetId is set,
-              # a new sheet with that ID will be created.
-              # If newPosition.newSheet is set to true,
-              # a new sheet will be created with an ID that will be chosen for you.
-            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                  # All indexes are zero-based.
-                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
-              },
-              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
-            },
-            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                # is chosen for you. Used only when writing.
-            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                # is on its own sheet. Must be non-negative.
-          },
-          &quot;fields&quot;: &quot;A String&quot;, # The fields of OverlayPosition
-              # that should be updated when setting a new position. Used only if
-              # newPosition.overlayPosition
-              # is set, in which case at least one field must
-              # be specified.  The root `newPosition.overlayPosition` is implied and
-              # should not be specified.
-              # A single `&quot;*&quot;` can be used as short-hand for listing every field.
-        },
-        &quot;deleteDimensionGroup&quot;: { # Deletes a group over the specified range by decrementing the depth of the # Deletes a group over the specified range.
-            # dimensions in the range.
-            #
-            # For example, assume the sheet has a depth-1 group over B:E and a depth-2
-            # group over C:D. Deleting a group over D:E leaves the sheet with a
-            # depth-1 group over B:D and a depth-2 group over C:C.
-          &quot;range&quot;: { # A range along a single dimension on a sheet. # The range of the group to be deleted.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-        &quot;randomizeRange&quot;: { # Randomizes the order of the rows in a range. # Randomizes the order of the rows in a range.
-          &quot;range&quot;: { # A range on a sheet. # The range to randomize.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-        },
       },
     ],
     &quot;responseRanges&quot;: [ # Limits the ranges included in the response spreadsheet.
         # Meaningful only if include_spreadsheet_in_response is &#x27;true&#x27;.
       &quot;A String&quot;,
     ],
-    &quot;responseIncludeGridData&quot;: True or False, # True if grid data should be returned. Meaningful only if
-        # include_spreadsheet_in_response is &#x27;true&#x27;.
-        # This parameter is ignored if a field mask was set in the request.
-    &quot;includeSpreadsheetInResponse&quot;: True or False, # Determines if the update response should include the spreadsheet
-        # resource.
   }
 
   x__xgafv: string, V1 error format.
@@ -51958,6816 +51958,6 @@
     &quot;replies&quot;: [ # The reply of the updates.  This maps 1:1 with the updates, although
         # replies to some requests may be empty.
       { # A single response from an update.
-        &quot;updateEmbeddedObjectPosition&quot;: { # The result of updating an embedded object&#x27;s position. # A reply from updating an embedded object&#x27;s position.
-          &quot;position&quot;: { # The position of an embedded object such as a chart. # The new position of the embedded object.
-            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                  # All indexes are zero-based.
-                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
-              },
-              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
-            },
-            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                # is chosen for you. Used only when writing.
-            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                # is on its own sheet. Must be non-negative.
-          },
-        },
-        &quot;deleteDimensionGroup&quot;: { # The result of deleting a group. # A reply from deleting a dimension group.
-          &quot;dimensionGroups&quot;: [ # All groups of a dimension after deleting a group from that dimension.
-            { # A group over an interval of rows or columns on a sheet, which can contain or
-                # be contained within other groups. A group can be collapsed or expanded as a
-                # unit on the sheet.
-              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                  # wholly contains the range of this group.
-              &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                  # collapsed if an overlapping group at a shallower depth is expanded.
-                  #
-                  # A true value does not imply that all dimensions within the group are
-                  # hidden, since a dimension&#x27;s visibility can change independently from this
-                  # group property. However, when this property is updated, all dimensions
-                  # within it are set to hidden if this field is true, or set to visible if
-                  # this field is false.
-              &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                  # All indexes are zero-based.
-                  # Indexes are half open: the start index is inclusive
-                  # and the end index is exclusive.
-                  # Missing indexes indicate the range is unbounded on that side.
-                &quot;sheetId&quot;: 42, # The sheet this span is on.
-                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-              },
-            },
-          ],
-        },
-        &quot;updateConditionalFormatRule&quot;: { # The result of updating a conditional format rule. # A reply from updating a conditional format rule.
-          &quot;oldIndex&quot;: 42, # The old index of the rule. Not set if a rule was replaced
-              # (because it is the same as new_index).
-          &quot;newRule&quot;: { # A rule describing a conditional format. # The new rule that replaced the old rule (if replacing),
-              # or the rule that was moved (if moved)
-            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
-                # All the ranges must be on the same grid.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
-              &quot;format&quot;: { # The format of a cell. # The format to apply.
-                  # Conditional formatting can only apply a subset of formatting:
-                  # bold, italic,
-                  # strikethrough,
-                  # foreground color &amp;
-                  # background color.
-                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
-                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
-                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
-                      # the user&#x27;s locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
-                      # more information about the supported patterns.
-                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
-                      # When writing, this field must be set.
-                },
-                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
-                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                },
-                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
-                    # If background_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
-            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
-                # the interpolation points listed. The format of a cell will vary
-                # based on its contents as compared to the values of the interpolation
-                # points.
-              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-            },
-          },
-          &quot;newIndex&quot;: 42, # The index of the new rule.
-          &quot;oldRule&quot;: { # A rule describing a conditional format. # The old (deleted) rule. Not set if a rule was moved
-              # (because it is the same as new_rule).
-            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
-                # All the ranges must be on the same grid.
-              { # A range on a sheet.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-            ],
-            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
-              &quot;format&quot;: { # The format of a cell. # The format to apply.
-                  # Conditional formatting can only apply a subset of formatting:
-                  # bold, italic,
-                  # strikethrough,
-                  # foreground color &amp;
-                  # background color.
-                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
-                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
-                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
-                      # the user&#x27;s locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
-                      # more information about the supported patterns.
-                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
-                      # When writing, this field must be set.
-                },
-                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
-                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
-                    &quot;width&quot;: 42, # The width of the border, in pixels.
-                        # Deprecated; the width is determined by the &quot;style&quot; field.
-                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
-                        # If color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
-                  },
-                },
-                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
-                    # Absent values indicate that the field isn&#x27;t specified.
-                  &quot;fontSize&quot;: 42, # The size of the font.
-                  &quot;underline&quot;: True or False, # True if the text is underlined.
-                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                      # If foreground_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
-                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
-                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
-                    # If background_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
-            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
-                # the interpolation points listed. The format of a cell will vary
-                # based on its contents as compared to the values of the interpolation
-                # points.
-              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
-                  # These pin the gradient color scale according to the color,
-                  # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
-                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
-                    # If color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
-              },
-            },
-          },
-        },
-        &quot;duplicateSheet&quot;: { # The result of duplicating a sheet. # A reply from duplicating a sheet.
-          &quot;properties&quot;: { # Properties of a sheet. # The properties of the duplicate sheet.
-            &quot;index&quot;: 42, # The index of the sheet within the spreadsheet.
-                # When adding or updating sheet properties, if this field
-                # is excluded then the sheet is added or moved to the end
-                # of the sheet list. When updating sheet indices or inserting
-                # sheets, movement is considered in &quot;before the move&quot; indexes.
-                # For example, if there were 3 sheets (S1, S2, S3) in order to
-                # move S1 ahead of S2 the index would have to be set to 2. A sheet
-                # index update request is ignored if the requested index is
-                # identical to the sheets current index or if the requested new
-                # index is equal to the current sheet index + 1.
-            &quot;title&quot;: &quot;A String&quot;, # The name of the sheet.
-            &quot;gridProperties&quot;: { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
-                # (If the sheet is an object sheet, containing a chart or image, then
-                # this field will be absent.)
-                # When writing it is an error to set any grid properties on non-grid sheets.
-              &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
-              &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
-              &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
-              &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-              &quot;rowCount&quot;: 42, # The number of rows in the grid.
-              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-              &quot;columnCount&quot;: 42, # The number of columns in the grid.
-            },
-            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-                # This field cannot be changed once set.
-            &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
-            &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
-                # If tab_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
-            &quot;sheetType&quot;: &quot;A String&quot;, # The type of sheet. Defaults to GRID.
-                # This field cannot be changed once set.
-          },
-        },
-        &quot;duplicateFilterView&quot;: { # The result of a filter view being duplicated. # A reply from duplicating a filter view.
-          &quot;filter&quot;: { # A filter view. # The newly created filter.
-            &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
-                # The map&#x27;s key is the column index, and the value is the criteria for
-                # that column.
-              &quot;a_key&quot;: { # Criteria for showing/hiding rows in a filter or filter view.
-                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
-                    # shown. Mutually exclusive with visible_foreground_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
-                    # (This does not override hidden_values -- if a value is listed there,
-                    #  it will still be hidden.)
-                    # BooleanConditions are used by conditional formatting,
-                    # data validation, and the criteria in filters.
-                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                      # on the condition type.  Some support zero values,
-                      # others one or two values,
-                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                    { # The value of the condition.
-                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                          # Valid only if the type is
-                          # DATE_BEFORE,
-                          # DATE_AFTER,
-                          # DATE_ON_OR_BEFORE or
-                          # DATE_ON_OR_AFTER.
-                          #
-                          # Relative dates are not supported in data validation.
-                          # They are supported only in conditional formatting and
-                          # conditional filters.
-                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                          # The value is parsed as if the user typed into a cell.
-                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                    },
-                  ],
-                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-                },
-                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
-                    # are shown. Mutually exclusive with visible_background_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
-                    # shown. This field is mutually exclusive with visible_foreground_color,
-                    # and must be set to an RGB-type color. If visible_background_color is
-                    # also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
-                    # are shown. This field is mutually exclusive with
-                    # visible_background_color, and must be set to an RGB-type color. If
-                    # visible_foreground_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;hiddenValues&quot;: [ # Values that should be hidden.
-                  &quot;A String&quot;,
-                ],
-              },
-            },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this filter view is backed by, if any.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-            &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
-                # are equal in the earlier specifications.
-              { # A sort order associated with a specific column or row.
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to sort by; cells with this fill color are sorted
-                    # to the top. Mutually exclusive with foreground_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
-                    # to the top. Mutually exclusive with foreground_color, and must be an
-                    # RGB-type color. If background_color is also set, this field takes
-                    # precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
-                &quot;dimensionIndex&quot;: 42, # The dimension the sort should be applied to.
-                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color to sort by; cells with this foreground color are
-                    # sorted to the top. Mutually exclusive with background_color, and must
-                    # be an RGB-type color. If foreground_color is also set, this field takes
-                    # precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
-                    # sorted to the top. Mutually exclusive with background_color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            ],
-            &quot;title&quot;: &quot;A String&quot;, # The name of the filter view.
-            &quot;range&quot;: { # A range on a sheet. # The range this filter view covers.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
-          },
-        },
-        &quot;findReplace&quot;: { # The result of the find/replace. # A reply from doing a find/replace.
-          &quot;sheetsChanged&quot;: 42, # The number of sheets changed.
-          &quot;formulasChanged&quot;: 42, # The number of formula cells changed.
-          &quot;occurrencesChanged&quot;: 42, # The number of occurrences (possibly multiple within a cell) changed.
-              # For example, if replacing `&quot;e&quot;` with `&quot;o&quot;` in `&quot;Google Sheets&quot;`, this would
-              # be `&quot;3&quot;` because `&quot;Google Sheets&quot;` -&gt; `&quot;Googlo Shoots&quot;`.
-          &quot;valuesChanged&quot;: 42, # The number of non-formula cells changed.
-          &quot;rowsChanged&quot;: 42, # The number of rows changed.
-        },
         &quot;createDeveloperMetadata&quot;: { # The response from creating developer metadata. # A reply from creating a developer metadata entry.
           &quot;developerMetadata&quot;: { # Developer metadata associated with a location or object in a spreadsheet. # The developer metadata that was created.
               # Developer metadata may be used to associate arbitrary data with various
@@ -58796,10 +51986,10 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
             },
           },
@@ -58821,16 +52011,14 @@
                 # (If the sheet is an object sheet, containing a chart or image, then
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
+              &quot;rowCount&quot;: 42, # The number of rows in the grid.
+              &quot;columnCount&quot;: 42, # The number of columns in the grid.
+              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
               &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
               &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
               &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
               &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-              &quot;rowCount&quot;: 42, # The number of rows in the grid.
-              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-              &quot;columnCount&quot;: 42, # The number of columns in the grid.
             },
-            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-                # This field cannot be changed once set.
             &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -58950,6 +52138,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -58961,10 +52152,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
+            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
             &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
                 # If tab_color is also set, this field takes precedence.
@@ -59088,6 +52278,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -59099,9 +52292,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -59111,1125 +52301,6 @@
         },
         &quot;addBanding&quot;: { # The result of adding a banded range. # A reply from adding a banded range.
           &quot;bandedRange&quot;: { # A banded (alternating colors) range in a sheet. # The banded range that was added.
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -60246,6 +52317,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -60368,6 +53123,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -60379,284 +53137,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -60783,6 +53265,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -60794,12 +53279,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -60918,6 +53405,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -60929,425 +53419,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -61379,11 +53450,1130 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
         },
@@ -61423,50 +54613,164 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
               &quot;format&quot;: { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
                   # bold, italic,
                   # strikethrough,
                   # foreground color &amp;
                   # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                 &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                   &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user&#x27;s locale will be used if necessary for the given type.
@@ -61475,6 +54779,7 @@
                   &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                       # When writing, this field must be set.
                 },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                   &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                     &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -61601,6 +54906,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -61612,9 +54920,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -61736,6 +55041,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -61747,9 +55055,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -61878,6 +55183,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -61889,9 +55197,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -62013,6 +55318,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -62024,9 +55332,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -62155,6 +55460,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -62166,9 +55474,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -62290,6 +55595,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -62301,9 +55609,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -62432,6 +55737,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -62443,9 +55751,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -62567,6 +55872,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -62578,9 +55886,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -62712,6 +56017,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -62723,12 +56031,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -62848,6 +56153,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -62859,35 +56167,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                     # If background_color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -63010,6 +56294,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -63021,153 +56308,56 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
                       #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
                       #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
                 },
               },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
             },
             &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
                 # the interpolation points listed. The format of a cell will vary
@@ -63176,9 +56366,6 @@
               &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -63301,6 +56488,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -63312,9 +56502,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -63436,6 +56623,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -63447,18 +56637,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -63581,6 +56768,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -63592,9 +56782,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -63716,6 +56903,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -63727,18 +56917,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -63861,6 +57048,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -63872,9 +57062,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -63996,6 +57183,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -64007,11 +57197,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
             },
           },
@@ -64045,10 +57235,10 @@
                     # Indexes are half open: the start index is inclusive
                     # and the end index is exclusive.
                     # Missing indexes indicate the range is unbounded on that side.
+                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                   &quot;sheetId&quot;: 42, # The sheet this span is on.
                   &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                   &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 },
               },
             },
@@ -64056,6 +57246,10 @@
         },
         &quot;addProtectedRange&quot;: { # The result of adding a new protected range. # A reply from adding a protected range.
           &quot;protectedRange&quot;: { # A protected range. # The newly added protected range.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
             &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
                 # Unprotected ranges are only supported on protected sheets.
               { # A range on a sheet.
@@ -64087,11 +57281,11 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -64134,21 +57328,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
             &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
                 # This field is only visible to users with edit access to the protected
                 # range and the document.
@@ -64162,10 +57347,15 @@
                 &quot;A String&quot;,
               ],
             },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
                 #
-                # When writing, only one of range or named_range_id
-                # may be set.
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
           },
         },
         &quot;updateDeveloperMetadata&quot;: { # The response from updating developer metadata. # A reply from updating a developer metadata entry.
@@ -64197,10 +57387,10 @@
                     # Indexes are half open: the start index is inclusive
                     # and the end index is exclusive.
                     # Missing indexes indicate the range is unbounded on that side.
+                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                   &quot;sheetId&quot;: 42, # The sheet this span is on.
                   &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                   &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 },
               },
             },
@@ -64208,6 +57398,7 @@
         },
         &quot;addNamedRange&quot;: { # The result of adding a named range. # A reply from adding a named range.
           &quot;namedRange&quot;: { # A named range. # The named range to add.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
             &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
             &quot;range&quot;: { # A range on a sheet. # The range this represents.
                 # All indexes are zero-based.
@@ -64238,19 +57429,192 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
           },
         },
         &quot;addSlicer&quot;: { # The result of adding a slicer to a spreadsheet. # A reply from adding a slicer.
           &quot;slicer&quot;: { # A slicer in a sheet. # The newly added slicer.
             &quot;slicerId&quot;: 42, # The ID of the slicer.
             &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                  # If not set, default to `True`.
+              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                  # If unspecified, defaults to `LEFT`
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
                 &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                     # shown. Mutually exclusive with visible_foreground_color.
@@ -64372,6 +57736,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -64383,9 +57750,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -64534,6 +57898,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -64545,9 +57912,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -64673,6 +58037,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -64684,9 +58051,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -64813,6 +58177,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -64824,9 +58191,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -64959,6 +58323,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -64970,12 +58337,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -65095,6 +58459,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -65106,11 +58473,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -65237,6 +58601,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -65248,190 +58615,16 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                  # If not set, default to `True`.
-              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                  # If unspecified, defaults to `LEFT`
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
             },
             &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
                 # existing sheet. Also, width and height of slicer can be automatically
                 # adjusted to keep it within permitted limits.
               &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                 &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                     # All indexes are zero-based.
                   &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -65441,9 +58634,6 @@
                 &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
                 &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
               },
               &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                   # is chosen for you. Used only when writing.
@@ -65457,8 +58647,6 @@
             { # A group over an interval of rows or columns on a sheet, which can contain or
                 # be contained within other groups. A group can be collapsed or expanded as a
                 # unit on the sheet.
-              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                  # wholly contains the range of this group.
               &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
                   # collapsed if an overlapping group at a shallower depth is expanded.
                   #
@@ -65472,16 +58660,39 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
+              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                  # wholly contains the range of this group.
             },
           ],
         },
         &quot;addChart&quot;: { # The result of adding a chart to a spreadsheet. # A reply from adding a chart.
           &quot;chart&quot;: { # A chart embedded in a sheet. # The newly added chart.
+            &quot;chartId&quot;: 42, # The ID of the chart.
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
             &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
               &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                   # chart&lt;/a&gt;.
@@ -65541,11 +58752,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -65602,11 +58813,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -65664,11 +58875,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -65725,11 +58936,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -65790,11 +59001,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -65936,6 +59147,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -65947,9 +59161,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -66001,11 +59212,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -66130,6 +59341,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -66141,9 +59355,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 ],
@@ -66160,142 +59371,254 @@
                     # be added to the first or last buckets instead of their own buckets.
                     # Must be between 0.0 and 0.5.
               },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual minimum value from color_data, or the minimum value from
+                    # size_data if color_data is not specified.
+                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual maximum value from color_data, or the maximum value from
+                    # size_data if color_data is not specified.
+                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                    # This field is optional. If not specified, size_data is used to
+                    # determine background colors. If specified, the data is expected to be
+                    # numeric. color_scale will determine how the values in this data map to
+                    # data cell background colors.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                    # expected to be numeric. The cells corresponding to non-numeric or missing
+                    # data will not be rendered. If color_data is not specified, this data
+                    # is used to determine data cell background colors as well.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
                 &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                     # on the treemap chart. These levels are not interactive and are shown
                     # without their labels. Defaults to 0 if not specified.
@@ -66429,6 +59752,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -66440,12 +59766,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -66565,6 +59888,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -66576,11 +59902,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -66600,6 +59923,146 @@
                     # Cells with missing or non-numeric color values will have
                     # noDataColor as their background
                     # color.
+                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # If max_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
                   &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                       # them. Defaults to #000000 if not specified.
                       # If no_data_color is also set, this field takes precedence.
@@ -66723,6 +60186,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -66734,9 +60200,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -66860,6 +60323,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -66871,9 +60337,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                       # minValue. Defaults to #dc3912 if not
@@ -66999,6 +60462,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -67010,9 +60476,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -67137,6 +60600,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -67148,144 +60614,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                       # to maxValue. Defaults to #109618 if not
@@ -67408,6 +60736,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -67419,9 +60750,141 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
                     &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                     &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
                   },
                   &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                       # minValue and
@@ -67548,6 +61011,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -67559,149 +61025,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # If max_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 },
@@ -67824,6 +61147,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -67835,9 +61161,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                     # If header_color is also set, this field takes precedence.
@@ -67961,6 +61284,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -67972,334 +61298,469 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual minimum value from color_data, or the minimum value from
-                    # size_data if color_data is not specified.
-                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual maximum value from color_data, or the maximum value from
-                    # size_data if color_data is not specified.
-                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                    # This field is optional. If not specified, size_data is used to
-                    # determine background colors. If specified, the data is expected to be
-                    # numeric. color_scale will determine how the values in this data map to
-                    # data cell background colors.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                    # expected to be numeric. The cells corresponding to non-numeric or missing
-                    # data will not be rendered. If color_data is not specified, this data
-                    # is used to determine data cell background colors as well.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
               },
               &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                   # See BasicChartType for the list of all
                   # charts this supports.
                   # of charts this supports.
+                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                    # Applies to Line charts.
+                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                    # chart area.
+                &quot;axis&quot;: [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                        # values in an axis).
+                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a maximum value that looks good for the data.
+                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a minimum value that looks good for the data.
+                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                    },
+                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn&#x27;t specified.
+                      &quot;fontSize&quot;: 42, # The size of the font.
+                      &quot;underline&quot;: True or False, # True if the text is underlined.
+                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                          # If foreground_color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                    },
+                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                  },
+                ],
+                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                    # segments of lines in a line chart will be missing).  To eliminate these
+                    # gaps set this to true.
+                    # Applies to Line, Area, and Combo charts.
                 &quot;series&quot;: [ # The data this chart is visualizing.
                   { # A single series of data in a chart.
                       # For example, if charting stock prices over time, multiple series may exist,
                       # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                        # chartType is AREA,
-                        # LINE, or SCATTER.
-                        # COMBO charts are also supported if the
-                        # series chart type is
-                        # AREA or LINE.
-                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                      &quot;width&quot;: 42, # The thickness of the line, in px.
-                    },
                     &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                         # this series.  If empty, a default color is used.
                         # If color is also set, this field takes precedence.
@@ -68423,6 +61884,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -68434,9 +61898,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -68572,6 +62033,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -68583,9 +62047,73 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    },
+                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                        # chartType is AREA,
+                        # LINE, or SCATTER.
+                        # COMBO charts are also supported if the
+                        # series chart type is
+                        # AREA or LINE.
+                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                      &quot;width&quot;: 42, # The thickness of the line, in px.
                     },
                   },
                 ],
@@ -68648,11 +62176,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -68660,473 +62188,10 @@
                     &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                   },
                 ],
-                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                    # Applies to Line charts.
-                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                    # If not set, Google Sheets will guess how many rows are headers based
-                    # on the data.
-                    #
-                    # (Note that BasicChartAxis.title may override the axis title
-                    #  inferred from the header values.)
-                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                    # chart area.
-                &quot;axis&quot;: [ # The axis on the chart.
-                  { # An axis of the chart.
-                      # A chart may not have more than one axis per
-                      # axis position.
-                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
-                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                        # Only valid if the axis is not associated with the domain.
-                        # Absent values indicate that the field isn&#x27;t specified.
-                      &quot;fontSize&quot;: 42, # The size of the font.
-                      &quot;underline&quot;: True or False, # True if the text is underlined.
-                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                          # If foreground_color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
-                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
-                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                    },
-                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                        # values in an axis).
-                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a minimum value that looks good for the data.
-                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a maximum value that looks good for the data.
-                    },
-                  },
-                ],
-                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                    # segments of lines in a line chart will be missing).  To eliminate these
-                    # gaps set this to true.
-                    # Applies to Line, Area, and Combo charts.
               },
-              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
               &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                  &quot;width&quot;: 42, # The thickness of the line, in px.
-                },
                 &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                   { # A single series of data for a waterfall chart.
-                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                        # subtotals are defined is not significant. Only one subtotal may be
-                        # defined for each data point.
-                      { # A custom subtotal column for a waterfall chart series.
-                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                            # data_is_subtotal is true, the data point at this index is the
-                            # subtotal. Otherwise, the subtotal appears after the data point with
-                            # this index. A series can have multiple subtotals at arbitrary indices,
-                            # but subtotals do not affect the indices of the data points. For
-                            # example, if a series has three data points, their indices will always
-                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                            # what data points they are associated with.
-                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                            # the subtotal will be computed and appear after the data point.
-                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                      },
-                    ],
-                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                        # a subtotal column will appear at the end of each series. Setting this
-                        # field to true will hide that subtotal column for this series.
-                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
                     &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                       &quot;colorStyle&quot;: { # A color value. # The color of the column.
                           # If color is also set, this field takes precedence.
@@ -69250,6 +62315,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -69261,9 +62329,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -69385,6 +62450,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -69396,9 +62464,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -69525,6 +62590,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -69536,9 +62604,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -69660,6 +62725,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -69671,9 +62739,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -69800,6 +62865,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -69811,9 +62879,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -69935,6 +63000,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -69946,15 +63014,895 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
+                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                        # subtotals are defined is not significant. Only one subtotal may be
+                        # defined for each data point.
+                      { # A custom subtotal column for a waterfall chart series.
+                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                            # data_is_subtotal is true, the data point at this index is the
+                            # subtotal. Otherwise, the subtotal appears after the data point with
+                            # this index. A series can have multiple subtotals at arbitrary indices,
+                            # but subtotals do not affect the indices of the data points. For
+                            # example, if a series has three data points, their indices will always
+                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                            # what data points they are associated with.
+                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                            # the subtotal will be computed and appear after the data point.
+                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                      },
+                    ],
+                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                        # a subtotal column will appear at the end of each series. Setting this
+                        # field to true will hide that subtotal column for this series.
                   },
                 ],
                 &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                  &quot;width&quot;: 42, # The thickness of the line, in px.
+                },
+              },
+              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                  # Org charts require a unique set of labels in labels and may
+                  # optionally include parent_labels and tooltips.
+                  # parent_labels contain, for each node, the label identifying the parent
+                  # node.  tooltips contain, for each node, an optional tooltip.
+                  #
+                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                    # If node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                    # results in no tooltip being displayed for the node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                    # must be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                    # A blank value indicates that the node has no parent and is a top-level
+                    # node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                    # If selected_node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
               },
               &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                   # Strikethrough and underline are not supported.
@@ -70083,6 +64031,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -70094,12 +64045,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -70219,6 +64167,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -70230,751 +64181,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                  # Org charts require a unique set of labels in labels and may
-                  # optionally include parent_labels and tooltips.
-                  # parent_labels contain, for each node, the label identifying the parent
-                  # node.  tooltips contain, for each node, an optional tooltip.
-                  #
-                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                    # A blank value indicates that the node has no parent and is a top-level
-                    # node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                    # If selected_node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                    # If node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                    # results in no tooltip being displayed for the node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                    # must be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
               &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
                 &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
                 &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -71026,11 +64237,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -71086,22 +64297,22 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
               },
-              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                  # for accessibility.
               &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                   # This field is optional.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
+              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                  # for accessibility.
               &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                   # axis labels, legend).  If a font is specified for a specific part of the
                   # chart it will override this font name.
@@ -71232,6 +64443,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -71243,12 +64457,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -71368,6 +64579,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -71379,11 +64593,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -71400,10 +64611,18 @@
                   # can specify a single data value, or aggregate over a range of data.
                   # Percentage or absolute difference from a baseline value can be highlighted,
                   # like changes over time.
-                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                    # This field is optional.
+                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                    # chart. This field is used only when number_format_source is set to
+                    # CUSTOM. This field is optional.
+                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                      # This field is optional.
+                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                      # This field is optional.
+                },
                 &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                     # This field is optional.
+                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                    # This field is optional.
                 &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                     # 10 can be used to divide all values in the chart by 10.
                     # This field is optional.
@@ -71456,11 +64675,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -71515,17 +64734,430 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
                 &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                     # This field is needed only if baseline_value_data is specified.
+                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # If negative_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
                   &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                       # Absent values indicate that the field isn&#x27;t specified.
@@ -71653,6 +65285,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -71664,12 +65299,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -71789,6 +65421,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -71800,11 +65435,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -71933,6 +65565,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -71944,424 +65579,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # If negative_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
                 },
                 &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -72490,6 +65709,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -72501,12 +65723,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -72626,6 +65845,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -72637,11 +65859,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -72650,14 +65869,6 @@
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                   },
                 },
-                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                    # chart. This field is used only when number_format_source is set to
-                    # CUSTOM. This field is optional.
-                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                      # This field is optional.
-                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                      # This field is optional.
-                },
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                   # Not applicable to Org charts.
@@ -72782,6 +65993,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -72793,77 +66007,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
               &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
               &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                    # 0 is fully transparent and 1 is fully opaque.
-                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                    # the bubbles at different sizes relative to each other.
-                    # If specified, group_ids must also be specified.  This field is
-                    # optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
                 &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                     # If specific, the field must be a positive value.
                 &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -72985,6 +66133,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -72996,9 +66147,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                     # If specified, the field must be a positive value.
@@ -73124,6 +66272,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -73135,9 +66286,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -73192,11 +66340,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -73251,11 +66399,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -73309,11 +66457,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -73369,11 +66517,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -73505,6 +66653,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -73516,12 +66667,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -73641,6 +66789,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -73652,36 +66803,75 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-              },
-            },
-            &quot;chartId&quot;: 42, # The ID of the chart.
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                    # the bubbles at different sizes relative to each other.
+                    # If specified, group_ids must also be specified.  This field is
+                    # optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
                 },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                    # 0 is fully transparent and 1 is fully opaque.
               },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
             },
           },
         },
@@ -73690,6 +66880,7 @@
         },
         &quot;addFilterView&quot;: { # The result of adding a filter view. # A reply from adding a filter view.
           &quot;filter&quot;: { # A filter view. # The newly added filter view.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
             &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                 # The map&#x27;s key is the column index, and the value is the criteria for
                 # that column.
@@ -73814,6 +67005,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -73825,9 +67019,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -73976,6 +67167,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -73987,9 +67181,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -74115,6 +67306,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -74126,9 +67320,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -74255,6 +67446,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -74266,9 +67460,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -74403,6 +67594,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -74414,9 +67608,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -74542,6 +67733,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -74553,9 +67747,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -74684,6 +67875,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -74695,9 +67889,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -74820,6 +68011,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -74831,9 +68025,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -74870,58 +68061,6915 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
           },
         },
+        &quot;updateEmbeddedObjectPosition&quot;: { # The result of updating an embedded object&#x27;s position. # A reply from updating an embedded object&#x27;s position.
+          &quot;position&quot;: { # The position of an embedded object such as a chart. # The new position of the embedded object.
+            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                  # All indexes are zero-based.
+                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+              },
+              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                  # from the anchor cell.
+            },
+            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                # is chosen for you. Used only when writing.
+            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                # is on its own sheet. Must be non-negative.
+          },
+        },
+        &quot;deleteDimensionGroup&quot;: { # The result of deleting a group. # A reply from deleting a dimension group.
+          &quot;dimensionGroups&quot;: [ # All groups of a dimension after deleting a group from that dimension.
+            { # A group over an interval of rows or columns on a sheet, which can contain or
+                # be contained within other groups. A group can be collapsed or expanded as a
+                # unit on the sheet.
+              &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                  # collapsed if an overlapping group at a shallower depth is expanded.
+                  #
+                  # A true value does not imply that all dimensions within the group are
+                  # hidden, since a dimension&#x27;s visibility can change independently from this
+                  # group property. However, when this property is updated, all dimensions
+                  # within it are set to hidden if this field is true, or set to visible if
+                  # this field is false.
+              &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                  # All indexes are zero-based.
+                  # Indexes are half open: the start index is inclusive
+                  # and the end index is exclusive.
+                  # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                &quot;sheetId&quot;: 42, # The sheet this span is on.
+                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+              },
+              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                  # wholly contains the range of this group.
+            },
+          ],
+        },
+        &quot;updateConditionalFormatRule&quot;: { # The result of updating a conditional format rule. # A reply from updating a conditional format rule.
+          &quot;oldIndex&quot;: 42, # The old index of the rule. Not set if a rule was replaced
+              # (because it is the same as new_index).
+          &quot;newRule&quot;: { # A rule describing a conditional format. # The new rule that replaced the old rule (if replacing),
+              # or the rule that was moved (if moved)
+            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
+              &quot;format&quot;: { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &amp;
+                  # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
+                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
+                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
+                      # the user&#x27;s locale will be used if necessary for the given type.
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
+                      # more information about the supported patterns.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
+                      # When writing, this field must be set.
+                },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
+                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
+                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                },
+                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
+                    # If background_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
+              },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
+            },
+            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+          &quot;newIndex&quot;: 42, # The index of the new rule.
+          &quot;oldRule&quot;: { # A rule describing a conditional format. # The old (deleted) rule. Not set if a rule was moved
+              # (because it is the same as new_rule).
+            &quot;ranges&quot;: [ # The ranges that are formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+            ],
+            &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
+              &quot;format&quot;: { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &amp;
+                  # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
+                &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
+                &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
+                      # the user&#x27;s locale will be used if necessary for the given type.
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for
+                      # more information about the supported patterns.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
+                      # When writing, this field must be set.
+                },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
+                &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
+                  &quot;left&quot;: { # A border along a cell. # The left border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;top&quot;: { # A border along a cell. # The top border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;right&quot;: { # A border along a cell. # The right border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                  &quot;bottom&quot;: { # A border along a cell. # The bottom border of the cell.
+                    &quot;width&quot;: 42, # The width of the border, in pixels.
+                        # Deprecated; the width is determined by the &quot;style&quot; field.
+                    &quot;colorStyle&quot;: { # A color value. # The color of the border.
+                        # If color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;style&quot;: &quot;A String&quot;, # The style of the border.
+                  },
+                },
+                &quot;wrapStrategy&quot;: &quot;A String&quot;, # The wrap strategy for the value in the cell.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn&#x27;t specified.
+                  &quot;fontSize&quot;: 42, # The size of the font.
+                  &quot;underline&quot;: True or False, # True if the text is underlined.
+                  &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                      # If foreground_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                  &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
+                    # If background_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
+              },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
+            },
+            &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
+                    # If color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        },
+        &quot;duplicateSheet&quot;: { # The result of duplicating a sheet. # A reply from duplicating a sheet.
+          &quot;properties&quot;: { # Properties of a sheet. # The properties of the duplicate sheet.
+            &quot;index&quot;: 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet is added or moved to the end
+                # of the sheet list. When updating sheet indices or inserting
+                # sheets, movement is considered in &quot;before the move&quot; indexes.
+                # For example, if there were 3 sheets (S1, S2, S3) in order to
+                # move S1 ahead of S2 the index would have to be set to 2. A sheet
+                # index update request is ignored if the requested index is
+                # identical to the sheets current index or if the requested new
+                # index is equal to the current sheet index + 1.
+            &quot;title&quot;: &quot;A String&quot;, # The name of the sheet.
+            &quot;gridProperties&quot;: { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              &quot;rowCount&quot;: 42, # The number of rows in the grid.
+              &quot;columnCount&quot;: 42, # The number of columns in the grid.
+              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
+              &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
+              &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
+              &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
+              &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
+            },
+            &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+            &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
+                # If tab_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
+            &quot;sheetType&quot;: &quot;A String&quot;, # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+          },
+        },
+        &quot;duplicateFilterView&quot;: { # The result of a filter view being duplicated. # A reply from duplicating a filter view.
+          &quot;filter&quot;: { # A filter view. # The newly created filter.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
+            &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
+                # The map&#x27;s key is the column index, and the value is the criteria for
+                # that column.
+              &quot;a_key&quot;: { # Criteria for showing/hiding rows in a filter or filter view.
+                &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
+                    # shown. Mutually exclusive with visible_foreground_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hidden_values -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                          # The value is parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                    },
+                  ],
+                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+                },
+                &quot;visibleForegroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to filter by; only cells with this foreground color
+                    # are shown. Mutually exclusive with visible_background_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
+                    # shown. This field is mutually exclusive with visible_foreground_color,
+                    # and must be set to an RGB-type color. If visible_background_color is
+                    # also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
+                    # are shown. This field is mutually exclusive with
+                    # visible_background_color, and must be set to an RGB-type color. If
+                    # visible_foreground_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;hiddenValues&quot;: [ # Values that should be hidden.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+            &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to sort by; cells with this fill color are sorted
+                    # to the top. Mutually exclusive with foreground_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
+                    # to the top. Mutually exclusive with foreground_color, and must be an
+                    # RGB-type color. If background_color is also set, this field takes
+                    # precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
+                &quot;dimensionIndex&quot;: 42, # The dimension the sort should be applied to.
+                &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color to sort by; cells with this foreground color are
+                    # sorted to the top. Mutually exclusive with background_color, and must
+                    # be an RGB-type color. If foreground_color is also set, this field takes
+                    # precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
+                    # sorted to the top. Mutually exclusive with background_color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+            ],
+            &quot;title&quot;: &quot;A String&quot;, # The name of the filter view.
+            &quot;range&quot;: { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        &quot;findReplace&quot;: { # The result of the find/replace. # A reply from doing a find/replace.
+          &quot;valuesChanged&quot;: 42, # The number of non-formula cells changed.
+          &quot;rowsChanged&quot;: 42, # The number of rows changed.
+          &quot;sheetsChanged&quot;: 42, # The number of sheets changed.
+          &quot;formulasChanged&quot;: 42, # The number of formula cells changed.
+          &quot;occurrencesChanged&quot;: 42, # The number of occurrences (possibly multiple within a cell) changed.
+              # For example, if replacing `&quot;e&quot;` with `&quot;o&quot;` in `&quot;Google Sheets&quot;`, this would
+              # be `&quot;3&quot;` because `&quot;Google Sheets&quot;` -&gt; `&quot;Googlo Shoots&quot;`.
+        },
       },
     ],
     &quot;spreadsheetId&quot;: &quot;A String&quot;, # The spreadsheet the updates were applied to.
     &quot;updatedSpreadsheet&quot;: { # Resource that represents a spreadsheet. # The spreadsheet after updates were applied. This is only set if
         # [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`.
+      &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
+        { # A named range.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+          &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+          &quot;range&quot;: { # A range on a sheet. # The range this represents.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            &quot;sheetId&quot;: 42, # The sheet this range is on.
+            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+        },
+      ],
+      &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
+        { # Developer metadata associated with a location or object in a spreadsheet.
+            # Developer metadata may be used to associate arbitrary data with various
+            # parts of a spreadsheet and will remain associated at those locations as they
+            # move around and the spreadsheet is edited.  For example, if developer
+            # metadata is associated with row 5 and another row is then subsequently
+            # inserted above row 5, that original metadata will still be associated with
+            # the row it was first associated with (what is now row 6). If the associated
+            # object is deleted its metadata is deleted too.
+          &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+              # same key.  Developer metadata must always have a key specified.
+          &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+          &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+              # specified.
+          &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+              # specified when metadata is created, otherwise one will be randomly
+              # generated and assigned. Must be positive.
+          &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+            &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+            &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+            &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                # a dimension. The specified DimensionRange must represent a single row
+                # or column; it cannot be unbounded or span multiple rows or columns.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+          },
+        },
+      ],
       &quot;spreadsheetUrl&quot;: &quot;A String&quot;, # The url of the spreadsheet.
           # This field is read-only.
       &quot;sheets&quot;: [ # The sheets that are part of a spreadsheet.
         { # A sheet in a spreadsheet.
-          &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
-              # by group depth.
-            { # A group over an interval of rows or columns on a sheet, which can contain or
-                # be contained within other groups. A group can be collapsed or expanded as a
-                # unit on the sheet.
-              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                  # wholly contains the range of this group.
-              &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                  # collapsed if an overlapping group at a shallower depth is expanded.
-                  #
-                  # A true value does not imply that all dimensions within the group are
-                  # hidden, since a dimension&#x27;s visibility can change independently from this
-                  # group property. However, when this property is updated, all dimensions
-                  # within it are set to hidden if this field is true, or set to visible if
-                  # this field is false.
-              &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                  # All indexes are zero-based.
-                  # Indexes are half open: the start index is inclusive
-                  # and the end index is exclusive.
-                  # Missing indexes indicate the range is unbounded on that side.
-                &quot;sheetId&quot;: 42, # The sheet this span is on.
-                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-              },
-            },
-          ],
           &quot;columnGroups&quot;: [ # All column groups on this sheet, ordered by increasing range start index,
               # then by group depth.
             { # A group over an interval of rows or columns on a sheet, which can contain or
                 # be contained within other groups. A group can be collapsed or expanded as a
                 # unit on the sheet.
-              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                  # wholly contains the range of this group.
               &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
                   # collapsed if an overlapping group at a shallower depth is expanded.
                   #
@@ -74935,17 +74983,193 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
+              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                  # wholly contains the range of this group.
             },
           ],
           &quot;slicers&quot;: [ # The slicers on this sheet.
             { # A slicer in a sheet.
               &quot;slicerId&quot;: 42, # The ID of the slicer.
               &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+                &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                    # If not set, default to `True`.
+                &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                    # All indexes are zero-based.
+                    # Indexes are half open, e.g the start index is inclusive
+                    # and the end index is exclusive -- [start_index, end_index).
+                    # Missing indexes indicate the range is unbounded on that side.
+                    #
+                    # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                    #
+                    #   `Sheet1!A1:A1 == sheet_id: 0,
+                    #                   start_row_index: 0, end_row_index: 1,
+                    #                   start_column_index: 0, end_column_index: 1`
+                    #
+                    #   `Sheet1!A3:B4 == sheet_id: 0,
+                    #                   start_row_index: 2, end_row_index: 4,
+                    #                   start_column_index: 0, end_column_index: 2`
+                    #
+                    #   `Sheet1!A:B == sheet_id: 0,
+                    #                 start_column_index: 0, end_column_index: 2`
+                    #
+                    #   `Sheet1!A5:B == sheet_id: 0,
+                    #                  start_row_index: 4,
+                    #                  start_column_index: 0, end_column_index: 2`
+                    #
+                    #   `Sheet1 == sheet_id:0`
+                    #
+                    # The start index must always be less than or equal to the end index.
+                    # If the start index equals the end index, then the range is empty.
+                    # Empty ranges are typically not meaningful and are usually rendered in the
+                    # UI as `#REF!`.
+                  &quot;sheetId&quot;: 42, # The sheet this range is on.
+                  &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                  &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                },
+                &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                    # If unspecified, defaults to `LEFT`
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
                   &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                       # shown. Mutually exclusive with visible_foreground_color.
@@ -75067,6 +75291,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -75078,9 +75305,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                       # (This does not override hidden_values -- if a value is listed there,
@@ -75229,6 +75453,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -75240,9 +75467,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                       # shown. This field is mutually exclusive with visible_foreground_color,
@@ -75368,6 +75592,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -75379,9 +75606,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -75508,6 +75732,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -75519,9 +75746,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -75654,6 +75878,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -75665,12 +75892,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -75790,6 +76014,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -75801,11 +76028,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -75932,6 +76156,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -75943,190 +76170,16 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                    # If not set, default to `True`.
-                &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                    # All indexes are zero-based.
-                    # Indexes are half open, e.g the start index is inclusive
-                    # and the end index is exclusive -- [start_index, end_index).
-                    # Missing indexes indicate the range is unbounded on that side.
-                    #
-                    # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                    #
-                    #   `Sheet1!A1:A1 == sheet_id: 0,
-                    #                   start_row_index: 0, end_row_index: 1,
-                    #                   start_column_index: 0, end_column_index: 1`
-                    #
-                    #   `Sheet1!A3:B4 == sheet_id: 0,
-                    #                   start_row_index: 2, end_row_index: 4,
-                    #                   start_column_index: 0, end_column_index: 2`
-                    #
-                    #   `Sheet1!A:B == sheet_id: 0,
-                    #                 start_column_index: 0, end_column_index: 2`
-                    #
-                    #   `Sheet1!A5:B == sheet_id: 0,
-                    #                  start_row_index: 4,
-                    #                  start_column_index: 0, end_column_index: 2`
-                    #
-                    #   `Sheet1 == sheet_id:0`
-                    #
-                    # The start index must always be less than or equal to the end index.
-                    # If the start index equals the end index, then the range is empty.
-                    # Empty ranges are typically not meaningful and are usually rendered in the
-                    # UI as `#REF!`.
-                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                  &quot;sheetId&quot;: 42, # The sheet this range is on.
-                  &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                  &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                },
-                &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                    # If unspecified, defaults to `LEFT`
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
               &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
                   # existing sheet. Also, width and height of slicer can be automatically
                   # adjusted to keep it within permitted limits.
                 &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                  &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                   &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                       # All indexes are zero-based.
                     &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -76136,9 +76189,6 @@
                   &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
                   &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                       # from the anchor cell.
-                  &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                      # from the anchor cell.
-                  &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                 },
                 &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                     # is chosen for you. Used only when writing.
@@ -76175,16 +76225,17 @@
                     # Indexes are half open: the start index is inclusive
                     # and the end index is exclusive.
                     # Missing indexes indicate the range is unbounded on that side.
+                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                   &quot;sheetId&quot;: 42, # The sheet this span is on.
                   &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                   &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                  &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 },
               },
             },
           ],
           &quot;filterViews&quot;: [ # The filter views in this sheet.
             { # A filter view.
+              &quot;filterViewId&quot;: 42, # The ID of the filter view.
               &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                   # The map&#x27;s key is the column index, and the value is the criteria for
                   # that column.
@@ -76309,6 +76360,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -76320,9 +76374,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                       # (This does not override hidden_values -- if a value is listed there,
@@ -76471,6 +76522,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -76482,9 +76536,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                       # shown. This field is mutually exclusive with visible_foreground_color,
@@ -76610,6 +76661,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -76621,9 +76675,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -76750,6 +76801,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -76761,9 +76815,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -76898,6 +76949,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -76909,9 +76963,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                       # to the top. Mutually exclusive with foreground_color, and must be an
@@ -77037,6 +77088,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -77048,9 +77102,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -77179,6 +77230,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -77190,9 +77244,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -77315,6 +77366,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -77326,9 +77380,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
               ],
@@ -77365,17 +77416,37 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
-              &quot;filterViewId&quot;: 42, # The ID of the filter view.
             },
           ],
           &quot;charts&quot;: [ # The specifications of every chart on this sheet.
             { # A chart embedded in a sheet.
+              &quot;chartId&quot;: 42, # The ID of the chart.
+              &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+                &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                  &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                  &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                      # All indexes are zero-based.
+                    &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                    &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                    &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                  },
+                  &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                  &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                },
+                &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                    # is chosen for you. Used only when writing.
+                &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                    # is on its own sheet. Must be non-negative.
+              },
               &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
                 &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                     # chart&lt;/a&gt;.
@@ -77435,11 +77506,11 @@
                                   # If the start index equals the end index, then the range is empty.
                                   # Empty ranges are typically not meaningful and are usually rendered in the
                                   # UI as `#REF!`.
-                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               },
                             ],
                           },
@@ -77496,11 +77567,11 @@
                                   # If the start index equals the end index, then the range is empty.
                                   # Empty ranges are typically not meaningful and are usually rendered in the
                                   # UI as `#REF!`.
-                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               },
                             ],
                           },
@@ -77558,11 +77629,11 @@
                                   # If the start index equals the end index, then the range is empty.
                                   # Empty ranges are typically not meaningful and are usually rendered in the
                                   # UI as `#REF!`.
-                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               },
                             ],
                           },
@@ -77619,11 +77690,11 @@
                                   # If the start index equals the end index, then the range is empty.
                                   # Empty ranges are typically not meaningful and are usually rendered in the
                                   # UI as `#REF!`.
-                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               },
                             ],
                           },
@@ -77684,11 +77755,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -77830,6 +77901,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -77841,9 +77915,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -77895,11 +77966,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -78024,6 +78095,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -78035,9 +78109,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                   ],
@@ -78054,142 +78125,254 @@
                       # be added to the first or last buckets instead of their own buckets.
                       # Must be between 0.0 and 0.5.
                 },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                    # Not applicable to Org charts.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
                 &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                  &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                      # have the same color as cells with this value. If not specified, defaults
+                      # to the actual minimum value from color_data, or the minimum value from
+                      # size_data if color_data is not specified.
+                  &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                      # have the same color as cells with this value. If not specified, defaults
+                      # to the actual maximum value from color_data, or the maximum value from
+                      # size_data if color_data is not specified.
+                  &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                      # This field is optional. If not specified, size_data is used to
+                      # determine background colors. If specified, the data is expected to be
+                      # numeric. color_scale will determine how the values in this data map to
+                      # data cell background colors.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                      # expected to be numeric. The cells corresponding to non-numeric or missing
+                      # data will not be rendered. If color_data is not specified, this data
+                      # is used to determine data cell background colors as well.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
                   &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                       # on the treemap chart. These levels are not interactive and are shown
                       # without their labels. Defaults to 0 if not specified.
@@ -78323,6 +78506,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -78334,12 +78520,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -78459,6 +78642,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -78470,11 +78656,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -78494,6 +78677,146 @@
                       # Cells with missing or non-numeric color values will have
                       # noDataColor as their background
                       # color.
+                    &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                        # to maxValue. Defaults to #109618 if not
+                        # specified.
+                        # If max_value_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
                     &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                         # them. Defaults to #000000 if not specified.
                         # If no_data_color is also set, this field takes precedence.
@@ -78617,6 +78940,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -78628,9 +78954,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -78754,6 +79077,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -78765,9 +79091,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                         # minValue. Defaults to #dc3912 if not
@@ -78893,6 +79216,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -78904,9 +79230,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -79031,6 +79354,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -79042,144 +79368,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                        # them. Defaults to #000000 if not specified.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                         # to maxValue. Defaults to #109618 if not
@@ -79302,6 +79490,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -79313,9 +79504,141 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                        # them. Defaults to #000000 if not specified.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
                       &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                       &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
                     },
                     &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                         # minValue and
@@ -79442,6 +79765,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -79453,149 +79779,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                        # to maxValue. Defaults to #109618 if not
-                        # specified.
-                        # If max_value_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                   },
@@ -79718,6 +79901,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -79729,9 +79915,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                       # If header_color is also set, this field takes precedence.
@@ -79855,6 +80038,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -79866,334 +80052,469 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                      # have the same color as cells with this value. If not specified, defaults
-                      # to the actual minimum value from color_data, or the minimum value from
-                      # size_data if color_data is not specified.
-                  &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                      # have the same color as cells with this value. If not specified, defaults
-                      # to the actual maximum value from color_data, or the maximum value from
-                      # size_data if color_data is not specified.
-                  &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                      # This field is optional. If not specified, size_data is used to
-                      # determine background colors. If specified, the data is expected to be
-                      # numeric. color_scale will determine how the values in this data map to
-                      # data cell background colors.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                      # expected to be numeric. The cells corresponding to non-numeric or missing
-                      # data will not be rendered. If color_data is not specified, this data
-                      # is used to determine data cell background colors as well.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                    # Not applicable to Org charts.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
                 },
                 &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                     # See BasicChartType for the list of all
                     # charts this supports.
                     # of charts this supports.
+                  &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                      # Applies to Line charts.
+                  &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                      # If not set, Google Sheets will guess how many rows are headers based
+                      # on the data.
+                      #
+                      # (Note that BasicChartAxis.title may override the axis title
+                      #  inferred from the header values.)
+                  &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                      # chart area.
+                  &quot;axis&quot;: [ # The axis on the chart.
+                    { # An axis of the chart.
+                        # A chart may not have more than one axis per
+                        # axis position.
+                      &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                          # values in an axis).
+                        &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                            # automatically determine a maximum value that looks good for the data.
+                        &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                            # automatically determine a minimum value that looks good for the data.
+                        &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                      },
+                      &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                          # from headers of the data.
+                      &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                      &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                          # Only valid if the axis is not associated with the domain.
+                          # Absent values indicate that the field isn&#x27;t specified.
+                        &quot;fontSize&quot;: 42, # The size of the font.
+                        &quot;underline&quot;: True or False, # True if the text is underlined.
+                        &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                            # If foreground_color is also set, this field takes precedence.
+                          &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                          &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                              # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                              #
+                              # Note: this proto does not carry information about the absolute color space
+                              # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                              # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                              # space.
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [[Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha &lt;= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                              #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = [&#x27;#&#x27;];
+                              #       for (var i = 0; i &lt; missingZeros; i++) {
+                              #          resultBuilder.push(&#x27;0&#x27;);
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join(&#x27;&#x27;);
+                              #     };
+                              #
+                              #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                          },
+                        },
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                        &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                      },
+                      &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                        &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                      },
+                    },
+                  ],
+                  &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                  &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                      # segments of lines in a line chart will be missing).  To eliminate these
+                      # gaps set this to true.
+                      # Applies to Line, Area, and Combo charts.
                   &quot;series&quot;: [ # The data this chart is visualizing.
                     { # A single series of data in a chart.
                         # For example, if charting stock prices over time, multiple series may exist,
                         # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                      &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                          # chartType is AREA,
-                          # LINE, or SCATTER.
-                          # COMBO charts are also supported if the
-                          # series chart type is
-                          # AREA or LINE.
-                        &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                        &quot;width&quot;: 42, # The thickness of the line, in px.
-                      },
                       &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                           # this series.  If empty, a default color is used.
                           # If color is also set, this field takes precedence.
@@ -80317,6 +80638,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -80328,9 +80652,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -80466,6 +80787,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -80477,9 +80801,73 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      },
+                      &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                          # chartType is AREA,
+                          # LINE, or SCATTER.
+                          # COMBO charts are also supported if the
+                          # series chart type is
+                          # AREA or LINE.
+                        &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                        &quot;width&quot;: 42, # The thickness of the line, in px.
                       },
                     },
                   ],
@@ -80542,11 +80930,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -80554,473 +80942,10 @@
                       &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                     },
                   ],
-                  &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                      # Applies to Line charts.
-                  &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                      # If not set, Google Sheets will guess how many rows are headers based
-                      # on the data.
-                      #
-                      # (Note that BasicChartAxis.title may override the axis title
-                      #  inferred from the header values.)
-                  &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                      # chart area.
-                  &quot;axis&quot;: [ # The axis on the chart.
-                    { # An axis of the chart.
-                        # A chart may not have more than one axis per
-                        # axis position.
-                      &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                          # from headers of the data.
-                      &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                      &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                          # Only valid if the axis is not associated with the domain.
-                          # Absent values indicate that the field isn&#x27;t specified.
-                        &quot;fontSize&quot;: 42, # The size of the font.
-                        &quot;underline&quot;: True or False, # True if the text is underlined.
-                        &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                            # If foreground_color is also set, this field takes precedence.
-                          &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                          &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                              # for simplicity of conversion to/from color representations in various
-                              # languages over compactness; for example, the fields of this representation
-                              # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                              # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                              # method in iOS; and, with just a little work, it can be easily formatted into
-                              # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                              #
-                              # Note: this proto does not carry information about the absolute color space
-                              # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                              # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                              # space.
-                              #
-                              # Example (Java):
-                              #
-                              #      import com.google.type.Color;
-                              #
-                              #      // ...
-                              #      public static java.awt.Color fromProto(Color protocolor) {
-                              #        float alpha = protocolor.hasAlpha()
-                              #            ? protocolor.getAlpha().getValue()
-                              #            : 1.0;
-                              #
-                              #        return new java.awt.Color(
-                              #            protocolor.getRed(),
-                              #            protocolor.getGreen(),
-                              #            protocolor.getBlue(),
-                              #            alpha);
-                              #      }
-                              #
-                              #      public static Color toProto(java.awt.Color color) {
-                              #        float red = (float) color.getRed();
-                              #        float green = (float) color.getGreen();
-                              #        float blue = (float) color.getBlue();
-                              #        float denominator = 255.0;
-                              #        Color.Builder resultBuilder =
-                              #            Color
-                              #                .newBuilder()
-                              #                .setRed(red / denominator)
-                              #                .setGreen(green / denominator)
-                              #                .setBlue(blue / denominator);
-                              #        int alpha = color.getAlpha();
-                              #        if (alpha != 255) {
-                              #          result.setAlpha(
-                              #              FloatValue
-                              #                  .newBuilder()
-                              #                  .setValue(((float) alpha) / denominator)
-                              #                  .build());
-                              #        }
-                              #        return resultBuilder.build();
-                              #      }
-                              #      // ...
-                              #
-                              # Example (iOS / Obj-C):
-                              #
-                              #      // ...
-                              #      static UIColor* fromProto(Color* protocolor) {
-                              #         float red = [protocolor red];
-                              #         float green = [protocolor green];
-                              #         float blue = [protocolor blue];
-                              #         FloatValue* alpha_wrapper = [protocolor alpha];
-                              #         float alpha = 1.0;
-                              #         if (alpha_wrapper != nil) {
-                              #           alpha = [alpha_wrapper value];
-                              #         }
-                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                              #      }
-                              #
-                              #      static Color* toProto(UIColor* color) {
-                              #          CGFloat red, green, blue, alpha;
-                              #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                              #            return nil;
-                              #          }
-                              #          Color* result = [[Color alloc] init];
-                              #          [result setRed:red];
-                              #          [result setGreen:green];
-                              #          [result setBlue:blue];
-                              #          if (alpha &lt;= 0.9999) {
-                              #            [result setAlpha:floatWrapperWithValue(alpha)];
-                              #          }
-                              #          [result autorelease];
-                              #          return result;
-                              #     }
-                              #     // ...
-                              #
-                              #  Example (JavaScript):
-                              #
-                              #     // ...
-                              #
-                              #     var protoToCssColor = function(rgb_color) {
-                              #        var redFrac = rgb_color.red || 0.0;
-                              #        var greenFrac = rgb_color.green || 0.0;
-                              #        var blueFrac = rgb_color.blue || 0.0;
-                              #        var red = Math.floor(redFrac * 255);
-                              #        var green = Math.floor(greenFrac * 255);
-                              #        var blue = Math.floor(blueFrac * 255);
-                              #
-                              #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                              #           return rgbToCssColor_(red, green, blue);
-                              #        }
-                              #
-                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                              #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                              #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                              #     };
-                              #
-                              #     var rgbToCssColor_ = function(red, green, blue) {
-                              #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                              #       var hexString = rgbNumber.toString(16);
-                              #       var missingZeros = 6 - hexString.length;
-                              #       var resultBuilder = [&#x27;#&#x27;];
-                              #       for (var i = 0; i &lt; missingZeros; i++) {
-                              #          resultBuilder.push(&#x27;0&#x27;);
-                              #       }
-                              #       resultBuilder.push(hexString);
-                              #       return resultBuilder.join(&#x27;&#x27;);
-                              #     };
-                              #
-                              #     // ...
-                            &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                                # the final pixel color is defined by the equation:
-                                #
-                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                                #
-                                # This means that a value of 1.0 corresponds to a solid color, whereas
-                                # a value of 0.0 corresponds to a completely transparent color. This
-                                # uses a wrapper message rather than a simple float scalar so that it is
-                                # possible to distinguish between a default value and the value being unset.
-                                # If omitted, this color object is to be rendered as a solid color
-                                # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                          },
-                        },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
-                        &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
-                        &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                        &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                      },
-                      &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                        &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                      },
-                      &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                          # values in an axis).
-                        &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                            # automatically determine a minimum value that looks good for the data.
-                        &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                        &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                            # automatically determine a maximum value that looks good for the data.
-                      },
-                    },
-                  ],
-                  &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                  &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                      # segments of lines in a line chart will be missing).  To eliminate these
-                      # gaps set this to true.
-                      # Applies to Line, Area, and Combo charts.
                 },
-                &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
                 &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                  &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                    &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                    &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                  },
-                  &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                  &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                  &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                    &quot;width&quot;: 42, # The thickness of the line, in px.
-                  },
                   &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                     { # A single series of data for a waterfall chart.
-                      &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                          # subtotals are defined is not significant. Only one subtotal may be
-                          # defined for each data point.
-                        { # A custom subtotal column for a waterfall chart series.
-                          &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                              # data_is_subtotal is true, the data point at this index is the
-                              # subtotal. Otherwise, the subtotal appears after the data point with
-                              # this index. A series can have multiple subtotals at arbitrary indices,
-                              # but subtotals do not affect the indices of the data points. For
-                              # example, if a series has three data points, their indices will always
-                              # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                              # what data points they are associated with.
-                          &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                              # the subtotal will be computed and appear after the data point.
-                          &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                        },
-                      ],
-                      &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                          # a subtotal column will appear at the end of each series. Setting this
-                          # field to true will hide that subtotal column for this series.
-                      &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                              # Exactly one dimension must have a length of 1,
-                              # and all sources in the list must have the same dimension
-                              # with length 1.
-                              # The domain (if it exists) &amp; all series must have the same number
-                              # of source ranges. If using more than one source range, then the source
-                              # range at a given offset must be in order and contiguous across the domain
-                              # and series.
-                              #
-                              # For example, these are valid configurations:
-                              #
-                              #     domain sources: A1:A5
-                              #     series1 sources: B1:B5
-                              #     series2 sources: D6:D10
-                              #
-                              #     domain sources: A1:A5, C10:C12
-                              #     series1 sources: B1:B5, D10:D12
-                              #     series2 sources: C1:C5, E10:E12
-                            { # A range on a sheet.
-                                # All indexes are zero-based.
-                                # Indexes are half open, e.g the start index is inclusive
-                                # and the end index is exclusive -- [start_index, end_index).
-                                # Missing indexes indicate the range is unbounded on that side.
-                                #
-                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                                #
-                                #   `Sheet1!A1:A1 == sheet_id: 0,
-                                #                   start_row_index: 0, end_row_index: 1,
-                                #                   start_column_index: 0, end_column_index: 1`
-                                #
-                                #   `Sheet1!A3:B4 == sheet_id: 0,
-                                #                   start_row_index: 2, end_row_index: 4,
-                                #                   start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A:B == sheet_id: 0,
-                                #                 start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1!A5:B == sheet_id: 0,
-                                #                  start_row_index: 4,
-                                #                  start_column_index: 0, end_column_index: 2`
-                                #
-                                #   `Sheet1 == sheet_id:0`
-                                #
-                                # The start index must always be less than or equal to the end index.
-                                # If the start index equals the end index, then the range is empty.
-                                # Empty ranges are typically not meaningful and are usually rendered in the
-                                # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              &quot;sheetId&quot;: 42, # The sheet this range is on.
-                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                            },
-                          ],
-                        },
-                      },
                       &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                         &quot;colorStyle&quot;: { # A color value. # The color of the column.
                             # If color is also set, this field takes precedence.
@@ -81144,6 +81069,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -81155,9 +81083,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -81279,6 +81204,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -81290,9 +81218,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                       },
@@ -81419,6 +81344,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -81430,9 +81358,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -81554,6 +81479,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -81565,9 +81493,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                       },
@@ -81694,6 +81619,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -81705,9 +81633,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -81829,6 +81754,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -81840,15 +81768,895 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                       },
+                      &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                          # subtotals are defined is not significant. Only one subtotal may be
+                          # defined for each data point.
+                        { # A custom subtotal column for a waterfall chart series.
+                          &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                              # data_is_subtotal is true, the data point at this index is the
+                              # subtotal. Otherwise, the subtotal appears after the data point with
+                              # this index. A series can have multiple subtotals at arbitrary indices,
+                              # but subtotals do not affect the indices of the data points. For
+                              # example, if a series has three data points, their indices will always
+                              # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                              # what data points they are associated with.
+                          &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                              # the subtotal will be computed and appear after the data point.
+                          &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                        },
+                      ],
+                      &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                        &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                          &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) &amp; all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be in order and contiguous across the domain
+                              # and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                                #
+                                #   `Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1`
+                                #
+                                #   `Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2`
+                                #
+                                #   `Sheet1 == sheet_id:0`
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              &quot;sheetId&quot;: 42, # The sheet this range is on.
+                              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                      &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                          # a subtotal column will appear at the end of each series. Setting this
+                          # field to true will hide that subtotal column for this series.
                     },
                   ],
                   &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                  &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                    &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                    &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                  &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                  &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                  &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                    &quot;width&quot;: 42, # The thickness of the line, in px.
+                  },
+                },
+                &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+                &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                    # Org charts require a unique set of labels in labels and may
+                    # optionally include parent_labels and tooltips.
+                    # parent_labels contain, for each node, the label identifying the parent
+                    # node.  tooltips contain, for each node, an optional tooltip.
+                    #
+                    # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                    # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                    # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                    # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                    # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                  &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                      # If node_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                      # results in no tooltip being displayed for the node.
+                      # This field is optional.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                      # must be unique.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                  &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                      # A blank value indicates that the node has no parent and is a top-level
+                      # node.
+                      # This field is optional.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                      # If selected_node_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
                 },
                 &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                     # Strikethrough and underline are not supported.
@@ -81977,6 +82785,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -81988,12 +82799,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -82113,6 +82921,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -82124,751 +82935,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-                &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                    # Org charts require a unique set of labels in labels and may
-                    # optionally include parent_labels and tooltips.
-                    # parent_labels contain, for each node, the label identifying the parent
-                    # node.  tooltips contain, for each node, an optional tooltip.
-                    #
-                    # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                    # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                    # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                    # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                    # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                  &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                      # A blank value indicates that the node has no parent and is a top-level
-                      # node.
-                      # This field is optional.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                      # If selected_node_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                      # If node_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                      # results in no tooltip being displayed for the node.
-                      # This field is optional.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                  &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                      # must be unique.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
                 &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
                   &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
                   &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -82920,11 +82991,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -82980,22 +83051,22 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
                   },
                 },
-                &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                    # for accessibility.
                 &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                     # This field is optional.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
+                &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                    # for accessibility.
                 &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                     # axis labels, legend).  If a font is specified for a specific part of the
                     # chart it will override this font name.
@@ -83126,6 +83197,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -83137,12 +83211,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -83262,6 +83333,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -83273,11 +83347,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -83294,10 +83365,18 @@
                     # can specify a single data value, or aggregate over a range of data.
                     # Percentage or absolute difference from a baseline value can be highlighted,
                     # like changes over time.
-                  &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                      # This field is optional.
+                  &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                      # chart. This field is used only when number_format_source is set to
+                      # CUSTOM. This field is optional.
+                    &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                        # This field is optional.
+                    &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                        # This field is optional.
+                  },
                   &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                       # This field is optional.
+                  &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                      # This field is optional.
                   &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                       # 10 can be used to divide all values in the chart by 10.
                       # This field is optional.
@@ -83350,11 +83429,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -83409,17 +83488,430 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
                   },
                   &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                       # This field is needed only if baseline_value_data is specified.
+                    &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                        # key value. This field is optional.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                        # key value. This field is optional.
+                        # If negative_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                        # This field is optional. If not specified, default positioning is used.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                    &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                        # key value. This field is optional.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                     &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                         # Absent values indicate that the field isn&#x27;t specified.
@@ -83547,6 +84039,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -83558,12 +84053,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -83683,6 +84175,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -83694,11 +84189,8 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
@@ -83827,6 +84319,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -83838,424 +84333,8 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                        # key value. This field is optional.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                        # key value. This field is optional.
-                        # If negative_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                        # This field is optional. If not specified, default positioning is used.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                        # key value. This field is optional.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
                   },
                   &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                     &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -84384,6 +84463,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -84395,12 +84477,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -84520,6 +84599,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -84531,11 +84613,8 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
@@ -84544,14 +84623,6 @@
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                     },
                   },
-                  &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                      # chart. This field is used only when number_format_source is set to
-                      # CUSTOM. This field is optional.
-                    &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                        # This field is optional.
-                    &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                        # This field is optional.
-                  },
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                     # Not applicable to Org charts.
@@ -84676,6 +84747,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -84687,77 +84761,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
                 &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
                 &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                  &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                      # 0 is fully transparent and 1 is fully opaque.
-                  &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                      # the bubbles at different sizes relative to each other.
-                      # If specified, group_ids must also be specified.  This field is
-                      # optional.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
                   &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                       # If specific, the field must be a positive value.
                   &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -84879,6 +84887,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -84890,9 +84901,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                       # If specified, the field must be a positive value.
@@ -85018,6 +85026,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -85029,9 +85040,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -85086,11 +85094,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -85145,11 +85153,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -85203,11 +85211,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -85263,11 +85271,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -85399,6 +85407,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -85410,12 +85421,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -85535,6 +85543,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -85546,41 +85557,84 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
-                },
-              },
-              &quot;chartId&quot;: 42, # The ID of the chart.
-              &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-                &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                  &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                      # All indexes are zero-based.
-                    &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                    &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                    &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                  &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                      # the bubbles at different sizes relative to each other.
+                      # If specified, group_ids must also be specified.  This field is
+                      # optional.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
                   },
-                  &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                  &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                      # from the anchor cell.
-                  &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                      # from the anchor cell.
-                  &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                  &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                      # 0 is fully transparent and 1 is fully opaque.
                 },
-                &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                    # is chosen for you. Used only when writing.
-                &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                    # is on its own sheet. Must be non-negative.
               },
             },
           ],
           &quot;protectedRanges&quot;: [ # The protected ranges in this sheet.
             { # A protected range.
+              &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                  #
+                  # When writing, only one of range or named_range_id
+                  # may be set.
               &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
                   # Unprotected ranges are only supported on protected sheets.
                 { # A range on a sheet.
@@ -85612,11 +85666,11 @@
                     # If the start index equals the end index, then the range is empty.
                     # Empty ranges are typically not meaningful and are usually rendered in the
                     # UI as `#REF!`.
-                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                   &quot;sheetId&quot;: 42, # The sheet this range is on.
                   &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                   &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 },
               ],
               &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -85659,21 +85713,12 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
-              &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                  # Warning-based protection means that every user can edit data in the
-                  # protected range, except editing will prompt a warning asking the user
-                  # to confirm the edit.
-                  #
-                  # When writing: if this field is true, then editors is ignored.
-                  # Additionally, if this field is changed from true to false and the
-                  # `editors` field is not set (nor included in the field mask), then
-                  # the editors will be set to all the editors in the document.
               &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
                   # This field is only visible to users with edit access to the protected
                   # range and the document.
@@ -85687,10 +85732,15 @@
                   &quot;A String&quot;,
                 ],
               },
-              &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+              &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                  # Warning-based protection means that every user can edit data in the
+                  # protected range, except editing will prompt a warning asking the user
+                  # to confirm the edit.
                   #
-                  # When writing, only one of range or named_range_id
-                  # may be set.
+                  # When writing: if this field is true, then editors is ignored.
+                  # Additionally, if this field is changed from true to false and the
+                  # `editors` field is not set (nor included in the field mask), then
+                  # the editors will be set to all the editors in the document.
             },
           ],
           &quot;basicFilter&quot;: { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -85818,6 +85868,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -85829,9 +85882,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -85980,6 +86030,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -85991,9 +86044,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -86119,6 +86169,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -86130,9 +86183,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -86259,6 +86309,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -86270,9 +86323,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -86309,11 +86359,11 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
             &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -86438,6 +86488,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -86449,9 +86502,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -86577,6 +86627,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -86588,9 +86641,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -86719,6 +86769,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -86730,9 +86783,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -86855,6 +86905,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -86866,9 +86919,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -86903,1134 +86953,15 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
           ],
           &quot;bandedRanges&quot;: [ # The banded (alternating colors) ranges on this sheet.
             { # A banded (alternating colors) range in a sheet.
-              &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                  # by-column basis throughout all the columns in the range. At least one of
-                  # row_properties or column_properties must be specified.
-                  # BandedRange.row_properties and BandedRange.column_properties are
-                  # set, the fill colors are applied to cells according to the following rules:
-                  #
-                  # * header_color and footer_color take priority over band colors.
-                  # * first_band_color takes priority over second_band_color.
-                  # * row_properties takes priority over column_properties.
-                  #
-                  # For example, the first row color takes priority over the first column
-                  # color, but the first column color takes priority over the second row color.
-                  # Similarly, the row header takes priority over the column header in the
-                  # top left cell, but the column header takes priority over the first row
-                  # color if the row header is not set.
-                &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                    # If first_band_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                    # or column is filled with this color and the colors alternate between
-                    # first_band_color and second_band_color starting from the second
-                    # row or column. Otherwise, the first row or column is filled with
-                    # first_band_color and the colors proceed to alternate as they normally
-                    # would.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                    # or column is filled with this color and the colors alternate between
-                    # first_band_color and second_band_color starting from the second
-                    # row or column. Otherwise, the first row or column is filled with
-                    # first_band_color and the colors proceed to alternate as they normally
-                    # would. If header_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                    # If second_band_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                    # row or column is filled with either first_band_color or
-                    # second_band_color, depending on the color of the previous row or
-                    # column.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                    # row or column is filled with either first_band_color or
-                    # second_band_color, depending on the color of the previous row or
-                    # column.
-                    # If footer_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-              },
               &quot;bandedRangeId&quot;: 42, # The id of the banded range.
               &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                   # basis throughout all the rows in the range. At least one of
@@ -88047,6 +86978,690 @@
                   # Similarly, the row header takes priority over the column header in the
                   # top left cell, but the column header takes priority over the first row
                   # color if the row header is not set.
+                &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                    # If second_band_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                    # row or column is filled with either first_band_color or
+                    # second_band_color, depending on the color of the previous row or
+                    # column.
+                    # If footer_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                    # row or column is filled with either first_band_color or
+                    # second_band_color, depending on the color of the previous row or
+                    # column.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                     # If first_band_color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -88169,6 +87784,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -88180,284 +87798,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                    # or column is filled with this color and the colors alternate between
-                    # first_band_color and second_band_color starting from the second
-                    # row or column. Otherwise, the first row or column is filled with
-                    # first_band_color and the colors proceed to alternate as they normally
-                    # would.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
                 &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                     # or column is filled with this color and the colors alternate between
                     # first_band_color and second_band_color starting from the second
@@ -88584,6 +87926,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -88595,12 +87940,14 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                    # or column is filled with this color and the colors alternate between
+                    # first_band_color and second_band_color starting from the second
+                    # row or column. Otherwise, the first row or column is filled with
+                    # first_band_color and the colors proceed to alternate as they normally
+                    # would.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
                     # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -88719,6 +88066,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -88730,425 +88080,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                    # If second_band_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                    # row or column is filled with either first_band_color or
-                    # second_band_color, depending on the color of the previous row or
-                    # column.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                    # row or column is filled with either first_band_color or
-                    # second_band_color, depending on the color of the previous row or
-                    # column.
-                    # If footer_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
                 },
               },
               &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -89180,11 +88111,1130 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                  # by-column basis throughout all the columns in the range. At least one of
+                  # row_properties or column_properties must be specified.
+                  # BandedRange.row_properties and BandedRange.column_properties are
+                  # set, the fill colors are applied to cells according to the following rules:
+                  #
+                  # * header_color and footer_color take priority over band colors.
+                  # * first_band_color takes priority over second_band_color.
+                  # * row_properties takes priority over column_properties.
+                  #
+                  # For example, the first row color takes priority over the first column
+                  # color, but the first column color takes priority over the second row color.
+                  # Similarly, the row header takes priority over the column header in the
+                  # top left cell, but the column header takes priority over the first row
+                  # color if the row header is not set.
+                &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                    # If second_band_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                    # row or column is filled with either first_band_color or
+                    # second_band_color, depending on the color of the previous row or
+                    # column.
+                    # If footer_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                    # row or column is filled with either first_band_color or
+                    # second_band_color, depending on the color of the previous row or
+                    # column.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                    # If first_band_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                    # or column is filled with this color and the colors alternate between
+                    # first_band_color and second_band_color starting from the second
+                    # row or column. Otherwise, the first row or column is filled with
+                    # first_band_color and the colors proceed to alternate as they normally
+                    # would. If header_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                    # or column is filled with this color and the colors alternate between
+                    # first_band_color and second_band_color starting from the second
+                    # row or column. Otherwise, the first row or column is filled with
+                    # first_band_color and the colors proceed to alternate as they normally
+                    # would.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
               },
             },
           ],
@@ -89204,16 +89254,14 @@
                 # (If the sheet is an object sheet, containing a chart or image, then
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
+              &quot;rowCount&quot;: 42, # The number of rows in the grid.
+              &quot;columnCount&quot;: 42, # The number of columns in the grid.
+              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
               &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
               &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
               &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
               &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-              &quot;rowCount&quot;: 42, # The number of rows in the grid.
-              &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-              &quot;columnCount&quot;: 42, # The number of columns in the grid.
             },
-            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-                # This field cannot be changed once set.
             &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -89333,6 +89381,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -89344,10 +89395,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
+            &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
             &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
                 # If tab_color is also set, this field takes precedence.
@@ -89471,6 +89521,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -89482,9 +89535,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -89524,50 +89574,164 @@
                     # If the start index equals the end index, then the range is empty.
                     # Empty ranges are typically not meaningful and are usually rendered in the
                     # UI as `#REF!`.
-                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                   &quot;sheetId&quot;: 42, # The sheet this range is on.
                   &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                   &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 },
               ],
               &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-                &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                    # the format is applied.
-                    # BooleanConditions are used by conditional formatting,
-                    # data validation, and the criteria in filters.
-                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                      # on the condition type.  Some support zero values,
-                      # others one or two values,
-                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                    { # The value of the condition.
-                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                          # Valid only if the type is
-                          # DATE_BEFORE,
-                          # DATE_AFTER,
-                          # DATE_ON_OR_BEFORE or
-                          # DATE_ON_OR_AFTER.
-                          #
-                          # Relative dates are not supported in data validation.
-                          # They are supported only in conditional formatting and
-                          # conditional filters.
-                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                          # The value is parsed as if the user typed into a cell.
-                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                    },
-                  ],
-                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-                },
                 &quot;format&quot;: { # The format of a cell. # The format to apply.
                     # Conditional formatting can only apply a subset of formatting:
                     # bold, italic,
                     # strikethrough,
                     # foreground color &amp;
                     # background color.
+                  &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                      # When updating padding, every field must be specified.
+                    &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                    &quot;left&quot;: 42, # The left padding of the cell.
+                    &quot;top&quot;: 42, # The top padding of the cell.
+                    &quot;right&quot;: 42, # The right padding of the cell.
+                  },
+                  &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
                   &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                   &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                  &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                   &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                     &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                         # the user&#x27;s locale will be used if necessary for the given type.
@@ -89576,6 +89740,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                         # When writing, this field must be set.
                   },
+                  &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                   &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                     &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                       &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -89702,6 +89867,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -89713,9 +89881,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -89837,6 +90002,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -89848,9 +90016,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                     },
@@ -89979,6 +90144,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -89990,9 +90158,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -90114,6 +90279,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -90125,9 +90293,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                     },
@@ -90256,6 +90421,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -90267,9 +90435,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -90391,6 +90556,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -90402,9 +90570,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                     },
@@ -90533,6 +90698,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -90544,9 +90712,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -90668,6 +90833,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -90679,9 +90847,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                     },
@@ -90813,6 +90978,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -90824,12 +90992,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -90949,6 +91114,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -90960,35 +91128,11 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
-                  &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                    &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                        # Measured in degrees. Valid values are between -90 and 90. Positive
-                        # angles are angled upwards, negative are angled downwards.
-                        #
-                        # Note: For LTR text direction positive angles are in the
-                        # counterclockwise direction, whereas for RTL they are in the clockwise
-                        # direction
-                    &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                        # characters is unchanged.
-                        # For example:
-                        #
-                        #     | V |
-                        #     | e |
-                        #     | r |
-                        #     | t |
-                        #     | i |
-                        #     | c |
-                        #     | a |
-                        #     | l |
-                  },
                   &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                       # If background_color is also set, this field takes precedence.
                     &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -91111,6 +91255,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -91122,153 +91269,56 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                      # When updating padding, every field must be specified.
-                    &quot;right&quot;: 42, # The right padding of the cell.
-                    &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                    &quot;left&quot;: 42, # The left padding of the cell.
-                    &quot;top&quot;: 42, # The top padding of the cell.
-                  },
-                  &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
+                  &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                    &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                        # Measured in degrees. Valid values are between -90 and 90. Positive
+                        # angles are angled upwards, negative are angled downwards.
                         #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        # Note: For LTR text direction positive angles are in the
+                        # counterclockwise direction, whereas for RTL they are in the clockwise
+                        # direction
+                    &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                        # characters is unchanged.
+                        # For example:
                         #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        #     | V |
+                        #     | e |
+                        #     | r |
+                        #     | t |
+                        #     | i |
+                        #     | c |
+                        #     | a |
+                        #     | l |
                   },
                 },
+                &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                    # the format is applied.
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                          # The value is parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                    },
+                  ],
+                  &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+                },
               },
               &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
                   # the interpolation points listed. The format of a cell will vary
@@ -91277,9 +91327,6 @@
                 &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                     # These pin the gradient color scale according to the color,
                     # type and value chosen.
-                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                      # Unused if type is MIN or
-                      # MAX.
                   &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                       # If color is also set, this field takes precedence.
                     &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -91402,6 +91449,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -91413,9 +91463,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -91537,6 +91584,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -91548,18 +91598,15 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
                 },
                 &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                     # These pin the gradient color scale according to the color,
                     # type and value chosen.
-                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                      # Unused if type is MIN or
-                      # MAX.
                   &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                       # If color is also set, this field takes precedence.
                     &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -91682,6 +91729,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -91693,9 +91743,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -91817,6 +91864,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -91828,18 +91878,15 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
                 },
                 &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                     # These pin the gradient color scale according to the color,
                     # type and value chosen.
-                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                      # Unused if type is MIN or
-                      # MAX.
                   &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                       # If color is also set, this field takes precedence.
                     &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -91962,6 +92009,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -91973,9 +92023,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -92097,6 +92144,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -92108,11 +92158,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                  &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
                 },
               },
             },
@@ -92130,7 +92180,6 @@
               &quot;columnMetadata&quot;: [ # Metadata about the requested columns in the grid, starting with the column
                   # in start_column.
                 { # Properties about a dimension.
-                  &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                   &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                       # This field is read-only.
                   &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -92162,14 +92211,15 @@
                             # Indexes are half open: the start index is inclusive
                             # and the end index is exclusive.
                             # Missing indexes indicate the range is unbounded on that side.
+                          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                           &quot;sheetId&quot;: 42, # The sheet this span is on.
                           &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                           &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         },
                       },
                     },
                   ],
+                  &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 },
               ],
               &quot;rowData&quot;: [ # The data in the grid, one entry per row,
@@ -92179,47 +92229,16 @@
                 { # Data about each cell in a row.
                   &quot;values&quot;: [ # The values in the row, one per column.
                     { # Data about a specific cell.
+                      &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                          # This is the value as it&#x27;s shown to the user.
+                          # This field is read-only.
                       &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                           # is computed dynamically based on its data, grouping, filters, values,
                           # etc. Only the top-left cell of the pivot table contains the pivot table
                           # definition. The other cells will contain the calculated values of the
                           # results of the pivot in their effective_value fields.
-                        &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                        &quot;columns&quot;: [ # Each column grouping in the pivot table.
                           { # A single grouping (either row or column) in a pivot table.
-                            &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                            &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                            &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                                # If not specified, sorting is alphabetical by this group&#x27;s values.
-                              &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                  # grouping should be sorted by.
-                              &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                  #
-                                  # For example, in a pivot table with one row group &amp; two column groups,
-                                  # the row group can list up to two values. The first value corresponds
-                                  # to a value within the first column group, and the second value
-                                  # corresponds to a value in the second column group.  If no values
-                                  # are listed, this would indicate that the row should be sorted according
-                                  # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                  # this would correspond to using the &quot;Total&quot; of that bucket.
-                                { # The kinds of value that a cell in a spreadsheet can have.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              ],
-                            },
                             &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                                 # This is only valid for row groupings and is ignored by columns.
                                 #
@@ -92242,13 +92261,6 @@
                                 &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                     # (Note that formulaValue is not valid,
                                     #  because the values will be calculated.)
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -92257,6 +92269,13 @@
                                   &quot;numberValue&quot;: 3.14, # Represents a double value.
                                       # Note: Dates, Times and DateTimes are represented as doubles in
                                       # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 },
                               },
                             ],
@@ -92372,13 +92391,6 @@
                                         # group within a given ManualRule. Items that do not appear in any
                                         # group will appear on their own.
                                       { # The kinds of value that a cell in a spreadsheet can have.
-                                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                            # This field is read-only.
-                                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                              # (in the spreadsheet&#x27;s locale).
-                                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                        },
-                                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                         &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                             # Leading single quotes are not included. For example, if the user typed
                                             # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -92387,17 +92399,17 @@
                                         &quot;numberValue&quot;: 3.14, # Represents a double value.
                                             # Note: Dates, Times and DateTimes are represented as doubles in
                                             # &quot;serial number&quot; format.
+                                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                            # This field is read-only.
+                                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                              # (in the spreadsheet&#x27;s locale).
+                                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                        },
+                                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                       },
                                     ],
                                     &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                         # ManualRule must have a unique group name.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                           # Leading single quotes are not included. For example, if the user typed
                                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -92406,6 +92418,13 @@
                                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                                           # Note: Dates, Times and DateTimes are represented as doubles in
                                           # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     },
                                   },
                                 ],
@@ -92429,6 +92448,303 @@
                                 #     +--------------+---------+-------+
                                 #     | Grand Total  |    1110 |   636 |
                                 #     +--------------+---------+-------+
+                            &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                            &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                            &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group&#x27;s values.
+                              &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group &amp; two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                  # this would correspond to using the &quot;Total&quot; of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              ],
+                              &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                  # grouping should be sorted by.
+                            },
+                          },
+                        ],
+                        &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                            # or vertically (as rows).
+                        &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                            #
+                            # The filters are applied before aggregating data into the pivot table.
+                            # The map&#x27;s key is the column offset of the source range that you want to
+                            # filter, and the value is the criteria for that column.
+                            #
+                            # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                            # for column `C`, whereas the key `1` is for column `D`.
+                          &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                            &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                              &quot;A String&quot;,
+                            ],
+                          },
+                        },
+                        &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                          { # A single grouping (either row or column) in a pivot table.
+                            &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                                # This is only valid for row groupings and is ignored by columns.
+                                #
+                                # By default, we minimize repitition of headings by not showing higher
+                                # level headings where they are the same. For example, even though the
+                                # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                                # it is redundant with previous rows. Setting repeat_headings to true
+                                # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                                #
+                                #     +--------------+
+                                #     | Q1     | Jan |
+                                #     |        | Feb |
+                                #     |        | Mar |
+                                #     +--------+-----+
+                                #     | Q1 Total     |
+                                #     +--------------+
+                            &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                              { # Metadata about a value in a pivot grouping.
+                                &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                                &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                    # (Note that formulaValue is not valid,
+                                    #  because the values will be calculated.)
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              },
+                            ],
+                            &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                                #
+                                # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                                # means this group refers to column `C`, whereas the offset `1` would
+                                # refer to column `D`.
+                            &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                                # in the source data column rather than breaking out each individual value.
+                                # Only one PivotGroup with a group rule may be added for each column in
+                                # the source data, though on any given column you may add both a
+                                # PivotGroup that has a rule and a PivotGroup that does not.
+                              &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                                  # buckets of a constant size. All values from HistogramRule.start to
+                                  # HistogramRule.end are placed into groups of size
+                                  # HistogramRule.interval. In addition, all values below
+                                  # HistogramRule.start are placed in one group, and all values above
+                                  # HistogramRule.end are placed in another. Only
+                                  # HistogramRule.interval is required, though if HistogramRule.start
+                                  # and HistogramRule.end are both provided, HistogramRule.start must
+                                  # be less than HistogramRule.end. For example, a pivot table showing
+                                  # average purchase amount by age that has 50+ rows:
+                                  #
+                                  #     +-----+-------------------+
+                                  #     | Age | AVERAGE of Amount |
+                                  #     +-----+-------------------+
+                                  #     | 16  |            $27.13 |
+                                  #     | 17  |             $5.24 |
+                                  #     | 18  |            $20.15 |
+                                  #     ...
+                                  #     +-----+-------------------+
+                                  # could be turned into a pivot table that looks like the one below by
+                                  # applying a histogram group rule with a HistogramRule.start of 25,
+                                  # an HistogramRule.interval of 20, and an HistogramRule.end
+                                  # of 65.
+                                  #
+                                  #     +-------------+-------------------+
+                                  #     | Grouped Age | AVERAGE of Amount |
+                                  #     +-------------+-------------------+
+                                  #     | &lt; 25        |            $19.34 |
+                                  #     | 25-45       |            $31.43 |
+                                  #     | 45-65       |            $35.87 |
+                                  #     | &gt; 65        |            $27.55 |
+                                  #     +-------------+-------------------+
+                                  #     | Grand Total |            $29.12 |
+                                  #     +-------------+-------------------+
+                                &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                    # of constant size. Values below start are lumped into a single bucket.
+                                    # This field is optional.
+                                &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                    # of constant size. Values above end are lumped into a single bucket.
+                                    # This field is optional.
+                                &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                              },
+                              &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                                  # buckets based on selected parts of their date or time values. For example,
+                                  # consider a pivot table showing sales transactions by date:
+                                  #
+                                  #     +----------+--------------+
+                                  #     | Date     | SUM of Sales |
+                                  #     +----------+--------------+
+                                  #     | 1/1/2017 |      $621.14 |
+                                  #     | 2/3/2017 |      $708.84 |
+                                  #     | 5/8/2017 |      $326.84 |
+                                  #     ...
+                                  #     +----------+--------------+
+                                  # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                                  # results in the following pivot table.
+                                  #
+                                  #     +--------------+--------------+
+                                  #     | Grouped Date | SUM of Sales |
+                                  #     +--------------+--------------+
+                                  #     | 2017-Jan     |   $53,731.78 |
+                                  #     | 2017-Feb     |   $83,475.32 |
+                                  #     | 2017-Mar     |   $94,385.05 |
+                                  #     ...
+                                  #     +--------------+--------------+
+                                &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                              },
+                              &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                                  # buckets with names of your choosing. For example, a pivot table that
+                                  # aggregates population by state:
+                                  #
+                                  #     +-------+-------------------+
+                                  #     | State | SUM of Population |
+                                  #     +-------+-------------------+
+                                  #     | AK    |               0.7 |
+                                  #     | AL    |               4.8 |
+                                  #     | AR    |               2.9 |
+                                  #     ...
+                                  #     +-------+-------------------+
+                                  # could be turned into a pivot table that aggregates population by time zone
+                                  # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                                  # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                                  # Note that a similar effect could be achieved by adding a time zone column
+                                  # to the source data and adjusting the pivot table.
+                                  #
+                                  #     +-----------+-------------------+
+                                  #     | Time Zone | SUM of Population |
+                                  #     +-----------+-------------------+
+                                  #     | Central   |             106.3 |
+                                  #     | Eastern   |             151.9 |
+                                  #     | Mountain  |              17.4 |
+                                  #     ...
+                                  #     +-----------+-------------------+
+                                &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                    # that map to each group name.
+                                  { # A group name and a list of items from the source data that should be placed
+                                      # in the group with this name.
+                                    &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                        # item may be a string, number, or boolean. Items may appear in at most one
+                                        # group within a given ManualRule. Items that do not appear in any
+                                        # group will appear on their own.
+                                      { # The kinds of value that a cell in a spreadsheet can have.
+                                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                            # Leading single quotes are not included. For example, if the user typed
+                                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                            # `&quot;123&quot;`.
+                                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                        &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                            # Note: Dates, Times and DateTimes are represented as doubles in
+                                            # &quot;serial number&quot; format.
+                                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                            # This field is read-only.
+                                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                              # (in the spreadsheet&#x27;s locale).
+                                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                        },
+                                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                      },
+                                    ],
+                                    &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                        # ManualRule must have a unique group name.
+                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                          # Leading single quotes are not included. For example, if the user typed
+                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                          # `&quot;123&quot;`.
+                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                          # Note: Dates, Times and DateTimes are represented as doubles in
+                                          # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                    },
+                                  },
+                                ],
+                              },
+                            },
+                            &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                                # example, in the following pivot table, the row label is `Region` (which
+                                # could be renamed to `State`) and the column label is `Product` (which
+                                # could be renamed `Item`). Pivot tables created before December 2017 do
+                                # not have header labels. If you&#x27;d like to add header labels to an existing
+                                # pivot table, please delete the existing pivot table and then create a new
+                                # pivot table with same parameters.
+                                #
+                                #     +--------------+---------+-------+
+                                #     | SUM of Units | Product |       |
+                                #     | Region       | Pen     | Paper |
+                                #     +--------------+---------+-------+
+                                #     | New York     |     345 |    98 |
+                                #     | Oregon       |     234 |   123 |
+                                #     | Tennessee    |     531 |   415 |
+                                #     +--------------+---------+-------+
+                                #     | Grand Total  |    1110 |   636 |
+                                #     +--------------+---------+-------+
+                            &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                            &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                            &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group&#x27;s values.
+                              &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group &amp; two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                  # this would correspond to using the &quot;Total&quot; of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              ],
+                              &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                  # grouping should be sorted by.
+                            },
                           },
                         ],
                         &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -92460,20 +92776,14 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                         &quot;values&quot;: [ # A list of values to include in the pivot table.
                           { # The definition of how a value in a pivot table should be calculated.
-                            &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                                # the result of a calculation with another pivot value. For example, if
-                                # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                                # pivot values are displayed as the percentage of the grand total. In
-                                # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                                # pivot table.
                             &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                                 #
                                 # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -92488,275 +92798,15 @@
                                 # If sourceColumnOffset is set, then `CUSTOM`
                                 # is not supported.
                             &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                            &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                                # the result of a calculation with another pivot value. For example, if
+                                # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                                # pivot values are displayed as the percentage of the grand total. In
+                                # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                                # pivot table.
                           },
                         ],
-                        &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                          { # A single grouping (either row or column) in a pivot table.
-                            &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                            &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                            &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                                # If not specified, sorting is alphabetical by this group&#x27;s values.
-                              &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                  # grouping should be sorted by.
-                              &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                  #
-                                  # For example, in a pivot table with one row group &amp; two column groups,
-                                  # the row group can list up to two values. The first value corresponds
-                                  # to a value within the first column group, and the second value
-                                  # corresponds to a value in the second column group.  If no values
-                                  # are listed, this would indicate that the row should be sorted according
-                                  # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                  # this would correspond to using the &quot;Total&quot; of that bucket.
-                                { # The kinds of value that a cell in a spreadsheet can have.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              ],
-                            },
-                            &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                                # This is only valid for row groupings and is ignored by columns.
-                                #
-                                # By default, we minimize repitition of headings by not showing higher
-                                # level headings where they are the same. For example, even though the
-                                # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                                # it is redundant with previous rows. Setting repeat_headings to true
-                                # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                                #
-                                #     +--------------+
-                                #     | Q1     | Jan |
-                                #     |        | Feb |
-                                #     |        | Mar |
-                                #     +--------+-----+
-                                #     | Q1 Total     |
-                                #     +--------------+
-                            &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                              { # Metadata about a value in a pivot grouping.
-                                &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                                &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                    # (Note that formulaValue is not valid,
-                                    #  because the values will be calculated.)
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              },
-                            ],
-                            &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                                #
-                                # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                                # means this group refers to column `C`, whereas the offset `1` would
-                                # refer to column `D`.
-                            &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                                # in the source data column rather than breaking out each individual value.
-                                # Only one PivotGroup with a group rule may be added for each column in
-                                # the source data, though on any given column you may add both a
-                                # PivotGroup that has a rule and a PivotGroup that does not.
-                              &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                                  # buckets of a constant size. All values from HistogramRule.start to
-                                  # HistogramRule.end are placed into groups of size
-                                  # HistogramRule.interval. In addition, all values below
-                                  # HistogramRule.start are placed in one group, and all values above
-                                  # HistogramRule.end are placed in another. Only
-                                  # HistogramRule.interval is required, though if HistogramRule.start
-                                  # and HistogramRule.end are both provided, HistogramRule.start must
-                                  # be less than HistogramRule.end. For example, a pivot table showing
-                                  # average purchase amount by age that has 50+ rows:
-                                  #
-                                  #     +-----+-------------------+
-                                  #     | Age | AVERAGE of Amount |
-                                  #     +-----+-------------------+
-                                  #     | 16  |            $27.13 |
-                                  #     | 17  |             $5.24 |
-                                  #     | 18  |            $20.15 |
-                                  #     ...
-                                  #     +-----+-------------------+
-                                  # could be turned into a pivot table that looks like the one below by
-                                  # applying a histogram group rule with a HistogramRule.start of 25,
-                                  # an HistogramRule.interval of 20, and an HistogramRule.end
-                                  # of 65.
-                                  #
-                                  #     +-------------+-------------------+
-                                  #     | Grouped Age | AVERAGE of Amount |
-                                  #     +-------------+-------------------+
-                                  #     | &lt; 25        |            $19.34 |
-                                  #     | 25-45       |            $31.43 |
-                                  #     | 45-65       |            $35.87 |
-                                  #     | &gt; 65        |            $27.55 |
-                                  #     +-------------+-------------------+
-                                  #     | Grand Total |            $29.12 |
-                                  #     +-------------+-------------------+
-                                &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                    # of constant size. Values below start are lumped into a single bucket.
-                                    # This field is optional.
-                                &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                    # of constant size. Values above end are lumped into a single bucket.
-                                    # This field is optional.
-                                &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                              },
-                              &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                                  # buckets based on selected parts of their date or time values. For example,
-                                  # consider a pivot table showing sales transactions by date:
-                                  #
-                                  #     +----------+--------------+
-                                  #     | Date     | SUM of Sales |
-                                  #     +----------+--------------+
-                                  #     | 1/1/2017 |      $621.14 |
-                                  #     | 2/3/2017 |      $708.84 |
-                                  #     | 5/8/2017 |      $326.84 |
-                                  #     ...
-                                  #     +----------+--------------+
-                                  # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                                  # results in the following pivot table.
-                                  #
-                                  #     +--------------+--------------+
-                                  #     | Grouped Date | SUM of Sales |
-                                  #     +--------------+--------------+
-                                  #     | 2017-Jan     |   $53,731.78 |
-                                  #     | 2017-Feb     |   $83,475.32 |
-                                  #     | 2017-Mar     |   $94,385.05 |
-                                  #     ...
-                                  #     +--------------+--------------+
-                                &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                              },
-                              &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                                  # buckets with names of your choosing. For example, a pivot table that
-                                  # aggregates population by state:
-                                  #
-                                  #     +-------+-------------------+
-                                  #     | State | SUM of Population |
-                                  #     +-------+-------------------+
-                                  #     | AK    |               0.7 |
-                                  #     | AL    |               4.8 |
-                                  #     | AR    |               2.9 |
-                                  #     ...
-                                  #     +-------+-------------------+
-                                  # could be turned into a pivot table that aggregates population by time zone
-                                  # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                                  # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                                  # Note that a similar effect could be achieved by adding a time zone column
-                                  # to the source data and adjusting the pivot table.
-                                  #
-                                  #     +-----------+-------------------+
-                                  #     | Time Zone | SUM of Population |
-                                  #     +-----------+-------------------+
-                                  #     | Central   |             106.3 |
-                                  #     | Eastern   |             151.9 |
-                                  #     | Mountain  |              17.4 |
-                                  #     ...
-                                  #     +-----------+-------------------+
-                                &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                    # that map to each group name.
-                                  { # A group name and a list of items from the source data that should be placed
-                                      # in the group with this name.
-                                    &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                        # item may be a string, number, or boolean. Items may appear in at most one
-                                        # group within a given ManualRule. Items that do not appear in any
-                                        # group will appear on their own.
-                                      { # The kinds of value that a cell in a spreadsheet can have.
-                                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                            # This field is read-only.
-                                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                              # (in the spreadsheet&#x27;s locale).
-                                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                        },
-                                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                            # Leading single quotes are not included. For example, if the user typed
-                                            # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                            # `&quot;123&quot;`.
-                                        &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                        &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                            # Note: Dates, Times and DateTimes are represented as doubles in
-                                            # &quot;serial number&quot; format.
-                                      },
-                                    ],
-                                    &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                        # ManualRule must have a unique group name.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                          # Leading single quotes are not included. For example, if the user typed
-                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                          # `&quot;123&quot;`.
-                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                          # Note: Dates, Times and DateTimes are represented as doubles in
-                                          # &quot;serial number&quot; format.
-                                    },
-                                  },
-                                ],
-                              },
-                            },
-                            &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                                # example, in the following pivot table, the row label is `Region` (which
-                                # could be renamed to `State`) and the column label is `Product` (which
-                                # could be renamed `Item`). Pivot tables created before December 2017 do
-                                # not have header labels. If you&#x27;d like to add header labels to an existing
-                                # pivot table, please delete the existing pivot table and then create a new
-                                # pivot table with same parameters.
-                                #
-                                #     +--------------+---------+-------+
-                                #     | SUM of Units | Product |       |
-                                #     | Region       | Pen     | Paper |
-                                #     +--------------+---------+-------+
-                                #     | New York     |     345 |    98 |
-                                #     | Oregon       |     234 |   123 |
-                                #     | Tennessee    |     531 |   415 |
-                                #     +--------------+---------+-------+
-                                #     | Grand Total  |    1110 |   636 |
-                                #     +--------------+---------+-------+
-                          },
-                        ],
-                        &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                            # or vertically (as rows).
-                        &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                            #
-                            # The filters are applied before aggregating data into the pivot table.
-                            # The map&#x27;s key is the column offset of the source range that you want to
-                            # filter, and the value is the criteria for that column.
-                            #
-                            # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                            # for column `C`, whereas the key `1` is for column `D`.
-                          &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                            &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                              &quot;A String&quot;,
-                            ],
-                          },
-                        },
                       },
-                      &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                          # This is the value as it&#x27;s shown to the user.
-                          # This field is read-only.
                       &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                           # on user entered strings, not formulas, bools, or numbers.
                           # Runs start at specific indexes in the text and continue until the next
@@ -92895,6 +92945,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -92906,12 +92959,9 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
-                            &quot;bold&quot;: True or False, # True if the text is bold.
+                            &quot;italic&quot;: True or False, # True if the text is italicized.
                             &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                                 # for simplicity of conversion to/from color representations in various
                                 # languages over compactness; for example, the fields of this representation
@@ -93031,6 +93081,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -93042,11 +93095,8 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
-                            &quot;italic&quot;: True or False, # True if the text is italicized.
+                            &quot;bold&quot;: True or False, # True if the text is bold.
                             &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                             &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                           },
@@ -93057,13 +93107,6 @@
                           # the calculated value.  For cells with literals, this is
                           # the same as the user_entered_value.
                           # This field is read-only.
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                         &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -93072,17 +93115,165 @@
                         &quot;numberValue&quot;: 3.14, # Represents a double value.
                             # Note: Dates, Times and DateTimes are represented as doubles in
                             # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       },
+                      &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                       &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                           # This includes the results of applying any conditional formatting and,
                           # if the cell contains a formula, the computed number format.
                           # If the effective format is the default format, effective format will
                           # not be written.
                           # This field is read-only.
+                        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                          &quot;left&quot;: 42, # The left padding of the cell.
+                          &quot;top&quot;: 42, # The top padding of the cell.
+                          &quot;right&quot;: 42, # The right padding of the cell.
+                        },
+                        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
                         &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                         &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                         &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                         &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                           &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                               # the user&#x27;s locale will be used if necessary for the given type.
@@ -93091,6 +93282,7 @@
                           &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                               # When writing, this field must be set.
                         },
+                        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                         &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                           &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                             &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -93217,6 +93409,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -93228,9 +93423,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -93352,6 +93544,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -93363,9 +93558,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -93494,6 +93686,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -93505,9 +93700,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -93629,6 +93821,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -93640,9 +93835,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -93771,6 +93963,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -93782,9 +93977,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -93906,6 +94098,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -93917,9 +94112,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -94048,6 +94240,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -94059,9 +94254,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -94183,6 +94375,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -94194,9 +94389,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -94328,6 +94520,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -94339,12 +94534,9 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
-                          &quot;bold&quot;: True or False, # True if the text is bold.
+                          &quot;italic&quot;: True or False, # True if the text is italicized.
                           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -94464,6 +94656,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -94475,35 +94670,11 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
-                          &quot;italic&quot;: True or False, # True if the text is italicized.
+                          &quot;bold&quot;: True or False, # True if the text is bold.
                           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         },
-                        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                              # Measured in degrees. Valid values are between -90 and 90. Positive
-                              # angles are angled upwards, negative are angled downwards.
-                              #
-                              # Note: For LTR text direction positive angles are in the
-                              # counterclockwise direction, whereas for RTL they are in the clockwise
-                              # direction
-                          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                              # characters is unchanged.
-                              # For example:
-                              #
-                              #     | V |
-                              #     | e |
-                              #     | r |
-                              #     | t |
-                              #     | i |
-                              #     | c |
-                              #     | a |
-                              #     | l |
-                        },
                         &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                             # If background_color is also set, this field takes precedence.
                           &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -94626,6 +94797,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -94637,161 +94811,177 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                            # When updating padding, every field must be specified.
-                          &quot;right&quot;: 42, # The right padding of the cell.
-                          &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                          &quot;left&quot;: 42, # The left padding of the cell.
-                          &quot;top&quot;: 42, # The top padding of the cell.
-                        },
-                        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
+                        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                              # Measured in degrees. Valid values are between -90 and 90. Positive
+                              # angles are angled upwards, negative are angled downwards.
                               #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              # Note: For LTR text direction positive angles are in the
+                              # counterclockwise direction, whereas for RTL they are in the clockwise
+                              # direction
+                          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                              # characters is unchanged.
+                              # For example:
                               #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              #     | V |
+                              #     | e |
+                              #     | r |
+                              #     | t |
+                              #     | i |
+                              #     | c |
+                              #     | a |
+                              #     | l |
                         },
                       },
-                      &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                       &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                           #
                           # When writing, the new format will be merged with the existing format.
+                        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                          &quot;left&quot;: 42, # The left padding of the cell.
+                          &quot;top&quot;: 42, # The top padding of the cell.
+                          &quot;right&quot;: 42, # The right padding of the cell.
+                        },
+                        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
                         &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                         &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                         &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                         &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                           &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                               # the user&#x27;s locale will be used if necessary for the given type.
@@ -94800,6 +94990,7 @@
                           &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                               # When writing, this field must be set.
                         },
+                        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                         &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                           &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                             &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -94926,6 +95117,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -94937,9 +95131,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -95061,6 +95252,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -95072,9 +95266,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -95203,6 +95394,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -95214,9 +95408,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -95338,6 +95529,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -95349,9 +95543,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -95480,6 +95671,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -95491,9 +95685,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -95615,6 +95806,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -95626,9 +95820,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -95757,6 +95948,9 @@
                                   #     };
                                   #
                                   #     // ...
+                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                     # the final pixel color is defined by the equation:
                                     #
@@ -95768,9 +95962,6 @@
                                     # possible to distinguish between a default value and the value being unset.
                                     # If omitted, this color object is to be rendered as a solid color
                                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               },
                             },
                             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -95892,6 +96083,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -95903,9 +96097,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                           },
@@ -96037,6 +96228,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -96048,12 +96242,9 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
-                          &quot;bold&quot;: True or False, # True if the text is bold.
+                          &quot;italic&quot;: True or False, # True if the text is italicized.
                           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -96173,6 +96364,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -96184,35 +96378,11 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
-                          &quot;italic&quot;: True or False, # True if the text is italicized.
+                          &quot;bold&quot;: True or False, # True if the text is bold.
                           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         },
-                        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                              # Measured in degrees. Valid values are between -90 and 90. Positive
-                              # angles are angled upwards, negative are angled downwards.
-                              #
-                              # Note: For LTR text direction positive angles are in the
-                              # counterclockwise direction, whereas for RTL they are in the clockwise
-                              # direction
-                          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                              # characters is unchanged.
-                              # For example:
-                              #
-                              #     | V |
-                              #     | e |
-                              #     | r |
-                              #     | t |
-                              #     | i |
-                              #     | c |
-                              #     | a |
-                              #     | l |
-                        },
                         &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                             # If background_color is also set, this field takes precedence.
                           &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -96335,6 +96505,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -96346,163 +96519,33 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                            # When updating padding, every field must be specified.
-                          &quot;right&quot;: 42, # The right padding of the cell.
-                          &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                          &quot;left&quot;: 42, # The left padding of the cell.
-                          &quot;top&quot;: 42, # The top padding of the cell.
-                        },
-                        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
+                        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                              # Measured in degrees. Valid values are between -90 and 90. Positive
+                              # angles are angled upwards, negative are angled downwards.
                               #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              # Note: For LTR text direction positive angles are in the
+                              # counterclockwise direction, whereas for RTL they are in the clockwise
+                              # direction
+                          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                              # characters is unchanged.
+                              # For example:
                               #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              #     | V |
+                              #     | e |
+                              #     | r |
+                              #     | t |
+                              #     | i |
+                              #     | c |
+                              #     | a |
+                              #     | l |
                         },
                       },
                       &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # serial number format.
-                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                            # This field is read-only.
-                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                              # (in the spreadsheet&#x27;s locale).
-                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                        },
-                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                         &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -96511,13 +96554,17 @@
                         &quot;numberValue&quot;: 3.14, # Represents a double value.
                             # Note: Dates, Times and DateTimes are represented as doubles in
                             # &quot;serial number&quot; format.
+                        &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                              # (in the spreadsheet&#x27;s locale).
+                          &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                        },
+                        &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       },
                       &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                           #
                           # When writing, the new data validation rule will overwrite any prior rule.
-                        &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                            # If true, &quot;List&quot; conditions will show a dropdown.
-                        &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                         &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                         &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                             # BooleanConditions are used by conditional formatting,
@@ -96544,6 +96591,9 @@
                           ],
                           &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                         },
+                        &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                            # If true, &quot;List&quot; conditions will show a dropdown.
+                        &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                       },
                       &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                           # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -96556,7 +96606,6 @@
               &quot;rowMetadata&quot;: [ # Metadata about the requested rows in the grid, starting with the row
                   # in start_row.
                 { # Properties about a dimension.
-                  &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                   &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                       # This field is read-only.
                   &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -96588,33 +96637,200 @@
                             # Indexes are half open: the start index is inclusive
                             # and the end index is exclusive.
                             # Missing indexes indicate the range is unbounded on that side.
+                          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                           &quot;sheetId&quot;: 42, # The sheet this span is on.
                           &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                           &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         },
                       },
                     },
                   ],
+                  &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 },
               ],
               &quot;startColumn&quot;: 42, # The first column this GridData refers to, zero-based.
               &quot;startRow&quot;: 42, # The first row this GridData refers to, zero-based.
             },
           ],
+          &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
+              # by group depth.
+            { # A group over an interval of rows or columns on a sheet, which can contain or
+                # be contained within other groups. A group can be collapsed or expanded as a
+                # unit on the sheet.
+              &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                  # collapsed if an overlapping group at a shallower depth is expanded.
+                  #
+                  # A true value does not imply that all dimensions within the group are
+                  # hidden, since a dimension&#x27;s visibility can change independently from this
+                  # group property. However, when this property is updated, all dimensions
+                  # within it are set to hidden if this field is true, or set to visible if
+                  # this field is false.
+              &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                  # All indexes are zero-based.
+                  # Indexes are half open: the start index is inclusive
+                  # and the end index is exclusive.
+                  # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+                &quot;sheetId&quot;: 42, # The sheet this span is on.
+                &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+                &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+              },
+              &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                  # wholly contains the range of this group.
+            },
+          ],
         },
       ],
       &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the spreadsheet.
           # This field is read-only.
       &quot;properties&quot;: { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
-        &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
         &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
             # CellData.effectiveFormat will not be set if
             # the cell&#x27;s format is equal to this default format. This field is read-only.
+          &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+              # When updating padding, every field must be specified.
+            &quot;bottom&quot;: 42, # The bottom padding of the cell.
+            &quot;left&quot;: 42, # The left padding of the cell.
+            &quot;top&quot;: 42, # The top padding of the cell.
+            &quot;right&quot;: 42, # The right padding of the cell.
+          },
+          &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+              # for simplicity of conversion to/from color representations in various
+              # languages over compactness; for example, the fields of this representation
+              # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+              # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+              # method in iOS; and, with just a little work, it can be easily formatted into
+              # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+              #
+              # Note: this proto does not carry information about the absolute color space
+              # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+              # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+              # space.
+              #
+              # Example (Java):
+              #
+              #      import com.google.type.Color;
+              #
+              #      // ...
+              #      public static java.awt.Color fromProto(Color protocolor) {
+              #        float alpha = protocolor.hasAlpha()
+              #            ? protocolor.getAlpha().getValue()
+              #            : 1.0;
+              #
+              #        return new java.awt.Color(
+              #            protocolor.getRed(),
+              #            protocolor.getGreen(),
+              #            protocolor.getBlue(),
+              #            alpha);
+              #      }
+              #
+              #      public static Color toProto(java.awt.Color color) {
+              #        float red = (float) color.getRed();
+              #        float green = (float) color.getGreen();
+              #        float blue = (float) color.getBlue();
+              #        float denominator = 255.0;
+              #        Color.Builder resultBuilder =
+              #            Color
+              #                .newBuilder()
+              #                .setRed(red / denominator)
+              #                .setGreen(green / denominator)
+              #                .setBlue(blue / denominator);
+              #        int alpha = color.getAlpha();
+              #        if (alpha != 255) {
+              #          result.setAlpha(
+              #              FloatValue
+              #                  .newBuilder()
+              #                  .setValue(((float) alpha) / denominator)
+              #                  .build());
+              #        }
+              #        return resultBuilder.build();
+              #      }
+              #      // ...
+              #
+              # Example (iOS / Obj-C):
+              #
+              #      // ...
+              #      static UIColor* fromProto(Color* protocolor) {
+              #         float red = [protocolor red];
+              #         float green = [protocolor green];
+              #         float blue = [protocolor blue];
+              #         FloatValue* alpha_wrapper = [protocolor alpha];
+              #         float alpha = 1.0;
+              #         if (alpha_wrapper != nil) {
+              #           alpha = [alpha_wrapper value];
+              #         }
+              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+              #      }
+              #
+              #      static Color* toProto(UIColor* color) {
+              #          CGFloat red, green, blue, alpha;
+              #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+              #            return nil;
+              #          }
+              #          Color* result = [[Color alloc] init];
+              #          [result setRed:red];
+              #          [result setGreen:green];
+              #          [result setBlue:blue];
+              #          if (alpha &lt;= 0.9999) {
+              #            [result setAlpha:floatWrapperWithValue(alpha)];
+              #          }
+              #          [result autorelease];
+              #          return result;
+              #     }
+              #     // ...
+              #
+              #  Example (JavaScript):
+              #
+              #     // ...
+              #
+              #     var protoToCssColor = function(rgb_color) {
+              #        var redFrac = rgb_color.red || 0.0;
+              #        var greenFrac = rgb_color.green || 0.0;
+              #        var blueFrac = rgb_color.blue || 0.0;
+              #        var red = Math.floor(redFrac * 255);
+              #        var green = Math.floor(greenFrac * 255);
+              #        var blue = Math.floor(blueFrac * 255);
+              #
+              #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+              #           return rgbToCssColor_(red, green, blue);
+              #        }
+              #
+              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+              #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+              #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+              #     };
+              #
+              #     var rgbToCssColor_ = function(red, green, blue) {
+              #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+              #       var hexString = rgbNumber.toString(16);
+              #       var missingZeros = 6 - hexString.length;
+              #       var resultBuilder = [&#x27;#&#x27;];
+              #       for (var i = 0; i &lt; missingZeros; i++) {
+              #          resultBuilder.push(&#x27;0&#x27;);
+              #       }
+              #       resultBuilder.push(hexString);
+              #       return resultBuilder.join(&#x27;&#x27;);
+              #     };
+              #
+              #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                # the final pixel color is defined by the equation:
+                #
+                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                #
+                # This means that a value of 1.0 corresponds to a solid color, whereas
+                # a value of 0.0 corresponds to a completely transparent color. This
+                # uses a wrapper message rather than a simple float scalar so that it is
+                # possible to distinguish between a default value and the value being unset.
+                # If omitted, this color object is to be rendered as a solid color
+                # (as if the alpha value had been explicitly given with a value of 1.0).
+          },
           &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
           &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
           &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-          &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
           &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
             &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                 # the user&#x27;s locale will be used if necessary for the given type.
@@ -96623,6 +96839,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                 # When writing, this field must be set.
           },
+          &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
           &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
             &quot;left&quot;: { # A border along a cell. # The left border of the cell.
               &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -96749,6 +96966,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -96760,9 +96980,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -96884,6 +97101,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -96895,9 +97115,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;style&quot;: &quot;A String&quot;, # The style of the border.
             },
@@ -97026,6 +97243,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -97037,9 +97257,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -97161,6 +97378,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -97172,9 +97392,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;style&quot;: &quot;A String&quot;, # The style of the border.
             },
@@ -97303,6 +97520,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -97314,9 +97534,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -97438,6 +97655,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -97449,9 +97669,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;style&quot;: &quot;A String&quot;, # The style of the border.
             },
@@ -97580,6 +97797,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -97591,9 +97811,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -97715,6 +97932,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -97726,9 +97946,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;style&quot;: &quot;A String&quot;, # The style of the border.
             },
@@ -97860,6 +98077,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -97871,12 +98091,9 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
-            &quot;bold&quot;: True or False, # True if the text is bold.
+            &quot;italic&quot;: True or False, # True if the text is italicized.
             &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -97996,6 +98213,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -98007,35 +98227,11 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
-            &quot;italic&quot;: True or False, # True if the text is italicized.
+            &quot;bold&quot;: True or False, # True if the text is bold.
             &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
             &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
           },
-          &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-            &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                # Measured in degrees. Valid values are between -90 and 90. Positive
-                # angles are angled upwards, negative are angled downwards.
-                #
-                # Note: For LTR text direction positive angles are in the
-                # counterclockwise direction, whereas for RTL they are in the clockwise
-                # direction
-            &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                # characters is unchanged.
-                # For example:
-                #
-                #     | V |
-                #     | e |
-                #     | r |
-                #     | t |
-                #     | i |
-                #     | c |
-                #     | a |
-                #     | l |
-          },
           &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
               # If background_color is also set, this field takes precedence.
             &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -98158,6 +98354,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -98169,154 +98368,34 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
-          &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-              # When updating padding, every field must be specified.
-            &quot;right&quot;: 42, # The right padding of the cell.
-            &quot;bottom&quot;: 42, # The bottom padding of the cell.
-            &quot;left&quot;: 42, # The left padding of the cell.
-            &quot;top&quot;: 42, # The top padding of the cell.
-          },
-          &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-              # for simplicity of conversion to/from color representations in various
-              # languages over compactness; for example, the fields of this representation
-              # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-              # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-              # method in iOS; and, with just a little work, it can be easily formatted into
-              # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-              #
-              # Note: this proto does not carry information about the absolute color space
-              # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-              # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-              # space.
-              #
-              # Example (Java):
-              #
-              #      import com.google.type.Color;
-              #
-              #      // ...
-              #      public static java.awt.Color fromProto(Color protocolor) {
-              #        float alpha = protocolor.hasAlpha()
-              #            ? protocolor.getAlpha().getValue()
-              #            : 1.0;
-              #
-              #        return new java.awt.Color(
-              #            protocolor.getRed(),
-              #            protocolor.getGreen(),
-              #            protocolor.getBlue(),
-              #            alpha);
-              #      }
-              #
-              #      public static Color toProto(java.awt.Color color) {
-              #        float red = (float) color.getRed();
-              #        float green = (float) color.getGreen();
-              #        float blue = (float) color.getBlue();
-              #        float denominator = 255.0;
-              #        Color.Builder resultBuilder =
-              #            Color
-              #                .newBuilder()
-              #                .setRed(red / denominator)
-              #                .setGreen(green / denominator)
-              #                .setBlue(blue / denominator);
-              #        int alpha = color.getAlpha();
-              #        if (alpha != 255) {
-              #          result.setAlpha(
-              #              FloatValue
-              #                  .newBuilder()
-              #                  .setValue(((float) alpha) / denominator)
-              #                  .build());
-              #        }
-              #        return resultBuilder.build();
-              #      }
-              #      // ...
-              #
-              # Example (iOS / Obj-C):
-              #
-              #      // ...
-              #      static UIColor* fromProto(Color* protocolor) {
-              #         float red = [protocolor red];
-              #         float green = [protocolor green];
-              #         float blue = [protocolor blue];
-              #         FloatValue* alpha_wrapper = [protocolor alpha];
-              #         float alpha = 1.0;
-              #         if (alpha_wrapper != nil) {
-              #           alpha = [alpha_wrapper value];
-              #         }
-              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-              #      }
-              #
-              #      static Color* toProto(UIColor* color) {
-              #          CGFloat red, green, blue, alpha;
-              #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-              #            return nil;
-              #          }
-              #          Color* result = [[Color alloc] init];
-              #          [result setRed:red];
-              #          [result setGreen:green];
-              #          [result setBlue:blue];
-              #          if (alpha &lt;= 0.9999) {
-              #            [result setAlpha:floatWrapperWithValue(alpha)];
-              #          }
-              #          [result autorelease];
-              #          return result;
-              #     }
-              #     // ...
-              #
-              #  Example (JavaScript):
-              #
-              #     // ...
-              #
-              #     var protoToCssColor = function(rgb_color) {
-              #        var redFrac = rgb_color.red || 0.0;
-              #        var greenFrac = rgb_color.green || 0.0;
-              #        var blueFrac = rgb_color.blue || 0.0;
-              #        var red = Math.floor(redFrac * 255);
-              #        var green = Math.floor(greenFrac * 255);
-              #        var blue = Math.floor(blueFrac * 255);
-              #
-              #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-              #           return rgbToCssColor_(red, green, blue);
-              #        }
-              #
-              #        var alphaFrac = rgb_color.alpha.value || 0.0;
-              #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-              #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-              #     };
-              #
-              #     var rgbToCssColor_ = function(red, green, blue) {
-              #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-              #       var hexString = rgbNumber.toString(16);
-              #       var missingZeros = 6 - hexString.length;
-              #       var resultBuilder = [&#x27;#&#x27;];
-              #       for (var i = 0; i &lt; missingZeros; i++) {
-              #          resultBuilder.push(&#x27;0&#x27;);
-              #       }
-              #       resultBuilder.push(hexString);
-              #       return resultBuilder.join(&#x27;&#x27;);
-              #     };
-              #
-              #     // ...
-            &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                # the final pixel color is defined by the equation:
+          &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+            &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                # Measured in degrees. Valid values are between -90 and 90. Positive
+                # angles are angled upwards, negative are angled downwards.
                 #
-                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                # Note: For LTR text direction positive angles are in the
+                # counterclockwise direction, whereas for RTL they are in the clockwise
+                # direction
+            &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                # characters is unchanged.
+                # For example:
                 #
-                # This means that a value of 1.0 corresponds to a solid color, whereas
-                # a value of 0.0 corresponds to a completely transparent color. This
-                # uses a wrapper message rather than a simple float scalar so that it is
-                # possible to distinguish between a default value and the value being unset.
-                # If omitted, this color object is to be rendered as a solid color
-                # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                #     | V |
+                #     | e |
+                #     | r |
+                #     | t |
+                #     | i |
+                #     | c |
+                #     | a |
+                #     | l |
           },
         },
         &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+        &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+            # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+            # be a custom time zone such as `GMT-07:00`.
         &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
             # calculation.  Absence of this field means that circular references result
             # in calculation errors.
@@ -98326,9 +98405,6 @@
           &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
               # less than this threshold value, the calculation rounds stop.
         },
-        &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-            # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-            # be a custom time zone such as `GMT-07:00`.
         &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
           &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
           &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -98457,6 +98533,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -98468,9 +98547,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             },
@@ -98485,84 +98561,8 @@
             # * a combination of the ISO language code and country code, such as `en_US`
             #
             # Note: when updating this field, not all locales/languages are supported.
+        &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
       },
-      &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
-        { # A named range.
-          &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-          &quot;range&quot;: { # A range on a sheet. # The range this represents.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-            &quot;sheetId&quot;: 42, # The sheet this range is on.
-            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-        },
-      ],
-      &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
-        { # Developer metadata associated with a location or object in a spreadsheet.
-            # Developer metadata may be used to associate arbitrary data with various
-            # parts of a spreadsheet and will remain associated at those locations as they
-            # move around and the spreadsheet is edited.  For example, if developer
-            # metadata is associated with row 5 and another row is then subsequently
-            # inserted above row 5, that original metadata will still be associated with
-            # the row it was first associated with (what is now row 6). If the associated
-            # object is deleted its metadata is deleted too.
-          &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-              # same key.  Developer metadata must always have a key specified.
-          &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-          &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-              # specified.
-          &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-              # specified when metadata is created, otherwise one will be randomly
-              # generated and assigned. Must be positive.
-          &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-            &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-            &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-            &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-            &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                # a dimension. The specified DimensionRange must represent a single row
-                # or column; it cannot be unbounded or span multiple rows or columns.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-        },
-      ],
     },
   }</pre>
 </div>
@@ -98576,44 +98576,92 @@
     The object takes the form of:
 
 { # Resource that represents a spreadsheet.
+  &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
+    { # A named range.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+      &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+      &quot;range&quot;: { # A range on a sheet. # The range this represents.
+          # All indexes are zero-based.
+          # Indexes are half open, e.g the start index is inclusive
+          # and the end index is exclusive -- [start_index, end_index).
+          # Missing indexes indicate the range is unbounded on that side.
+          #
+          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+          #
+          #   `Sheet1!A1:A1 == sheet_id: 0,
+          #                   start_row_index: 0, end_row_index: 1,
+          #                   start_column_index: 0, end_column_index: 1`
+          #
+          #   `Sheet1!A3:B4 == sheet_id: 0,
+          #                   start_row_index: 2, end_row_index: 4,
+          #                   start_column_index: 0, end_column_index: 2`
+          #
+          #   `Sheet1!A:B == sheet_id: 0,
+          #                 start_column_index: 0, end_column_index: 2`
+          #
+          #   `Sheet1!A5:B == sheet_id: 0,
+          #                  start_row_index: 4,
+          #                  start_column_index: 0, end_column_index: 2`
+          #
+          #   `Sheet1 == sheet_id:0`
+          #
+          # The start index must always be less than or equal to the end index.
+          # If the start index equals the end index, then the range is empty.
+          # Empty ranges are typically not meaningful and are usually rendered in the
+          # UI as `#REF!`.
+        &quot;sheetId&quot;: 42, # The sheet this range is on.
+        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+      },
+    },
+  ],
+  &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
+    { # Developer metadata associated with a location or object in a spreadsheet.
+        # Developer metadata may be used to associate arbitrary data with various
+        # parts of a spreadsheet and will remain associated at those locations as they
+        # move around and the spreadsheet is edited.  For example, if developer
+        # metadata is associated with row 5 and another row is then subsequently
+        # inserted above row 5, that original metadata will still be associated with
+        # the row it was first associated with (what is now row 6). If the associated
+        # object is deleted its metadata is deleted too.
+      &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+          # same key.  Developer metadata must always have a key specified.
+      &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+      &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+          # specified.
+      &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+          # specified when metadata is created, otherwise one will be randomly
+          # generated and assigned. Must be positive.
+      &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+        &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+        &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+        &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+        &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+            # a dimension. The specified DimensionRange must represent a single row
+            # or column; it cannot be unbounded or span multiple rows or columns.
+            # All indexes are zero-based.
+            # Indexes are half open: the start index is inclusive
+            # and the end index is exclusive.
+            # Missing indexes indicate the range is unbounded on that side.
+          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+          &quot;sheetId&quot;: 42, # The sheet this span is on.
+          &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+          &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+        },
+      },
+    },
+  ],
   &quot;spreadsheetUrl&quot;: &quot;A String&quot;, # The url of the spreadsheet.
       # This field is read-only.
   &quot;sheets&quot;: [ # The sheets that are part of a spreadsheet.
     { # A sheet in a spreadsheet.
-      &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
-          # by group depth.
-        { # A group over an interval of rows or columns on a sheet, which can contain or
-            # be contained within other groups. A group can be collapsed or expanded as a
-            # unit on the sheet.
-          &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-              # wholly contains the range of this group.
-          &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-              # collapsed if an overlapping group at a shallower depth is expanded.
-              #
-              # A true value does not imply that all dimensions within the group are
-              # hidden, since a dimension&#x27;s visibility can change independently from this
-              # group property. However, when this property is updated, all dimensions
-              # within it are set to hidden if this field is true, or set to visible if
-              # this field is false.
-          &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-      ],
       &quot;columnGroups&quot;: [ # All column groups on this sheet, ordered by increasing range start index,
           # then by group depth.
         { # A group over an interval of rows or columns on a sheet, which can contain or
             # be contained within other groups. A group can be collapsed or expanded as a
             # unit on the sheet.
-          &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-              # wholly contains the range of this group.
           &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
               # collapsed if an overlapping group at a shallower depth is expanded.
               #
@@ -98627,17 +98675,193 @@
               # Indexes are half open: the start index is inclusive
               # and the end index is exclusive.
               # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             &quot;sheetId&quot;: 42, # The sheet this span is on.
             &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
             &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
           },
+          &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+              # wholly contains the range of this group.
         },
       ],
       &quot;slicers&quot;: [ # The slicers on this sheet.
         { # A slicer in a sheet.
           &quot;slicerId&quot;: 42, # The ID of the slicer.
           &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+            &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                # If not set, default to `True`.
+            &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              &quot;sheetId&quot;: 42, # The sheet this range is on.
+              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+            &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                # If unspecified, defaults to `LEFT`
+            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
             &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
               &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                   # shown. Mutually exclusive with visible_foreground_color.
@@ -98759,6 +98983,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -98770,9 +98997,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -98921,6 +99145,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -98932,9 +99159,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -99060,6 +99284,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -99071,9 +99298,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -99200,6 +99424,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -99211,9 +99438,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -99346,6 +99570,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -99357,12 +99584,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -99482,6 +99706,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -99493,11 +99720,8 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
@@ -99624,6 +99848,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -99635,190 +99862,16 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
-            &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                # If not set, default to `True`.
-            &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-              &quot;sheetId&quot;: 42, # The sheet this range is on.
-              &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-              &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-            },
-            &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-            &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                # If unspecified, defaults to `LEFT`
-            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
           },
           &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
               # existing sheet. Also, width and height of slicer can be automatically
               # adjusted to keep it within permitted limits.
             &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
               &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                   # All indexes are zero-based.
                 &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -99828,9 +99881,6 @@
               &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
               &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                   # from the anchor cell.
-              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
             },
             &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                 # is chosen for you. Used only when writing.
@@ -99867,16 +99917,17 @@
                 # Indexes are half open: the start index is inclusive
                 # and the end index is exclusive.
                 # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               &quot;sheetId&quot;: 42, # The sheet this span is on.
               &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
               &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             },
           },
         },
       ],
       &quot;filterViews&quot;: [ # The filter views in this sheet.
         { # A filter view.
+          &quot;filterViewId&quot;: 42, # The ID of the filter view.
           &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
               # The map&#x27;s key is the column index, and the value is the criteria for
               # that column.
@@ -100001,6 +100052,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -100012,9 +100066,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -100163,6 +100214,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -100174,9 +100228,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -100302,6 +100353,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -100313,9 +100367,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -100442,6 +100493,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -100453,9 +100507,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -100590,6 +100641,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -100601,9 +100655,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                   # to the top. Mutually exclusive with foreground_color, and must be an
@@ -100729,6 +100780,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -100740,9 +100794,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -100871,6 +100922,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -100882,9 +100936,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -101007,6 +101058,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -101018,9 +101072,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           ],
@@ -101057,17 +101108,37 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
-          &quot;filterViewId&quot;: 42, # The ID of the filter view.
         },
       ],
       &quot;charts&quot;: [ # The specifications of every chart on this sheet.
         { # A chart embedded in a sheet.
+          &quot;chartId&quot;: 42, # The ID of the chart.
+          &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                  # All indexes are zero-based.
+                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+              },
+              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                  # from the anchor cell.
+            },
+            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                # is chosen for you. Used only when writing.
+            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                # is on its own sheet. Must be non-negative.
+          },
           &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
             &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                 # chart&lt;/a&gt;.
@@ -101127,11 +101198,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -101188,11 +101259,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -101250,11 +101321,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -101311,11 +101382,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -101376,11 +101447,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -101522,6 +101593,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -101533,9 +101607,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -101587,11 +101658,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -101716,6 +101787,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -101727,9 +101801,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
               ],
@@ -101746,142 +101817,254 @@
                   # be added to the first or last buckets instead of their own buckets.
                   # Must be between 0.0 and 0.5.
             },
-            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                # Not applicable to Org charts.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
             &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+              &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                  # have the same color as cells with this value. If not specified, defaults
+                  # to the actual minimum value from color_data, or the minimum value from
+                  # size_data if color_data is not specified.
+              &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                  # have the same color as cells with this value. If not specified, defaults
+                  # to the actual maximum value from color_data, or the maximum value from
+                  # size_data if color_data is not specified.
+              &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                  # This field is optional. If not specified, size_data is used to
+                  # determine background colors. If specified, the data is expected to be
+                  # numeric. color_scale will determine how the values in this data map to
+                  # data cell background colors.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                  # expected to be numeric. The cells corresponding to non-numeric or missing
+                  # data will not be rendered. If color_data is not specified, this data
+                  # is used to determine data cell background colors as well.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
               &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                   # on the treemap chart. These levels are not interactive and are shown
                   # without their labels. Defaults to 0 if not specified.
@@ -102015,6 +102198,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -102026,12 +102212,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -102151,6 +102334,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -102162,11 +102348,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -102186,6 +102369,146 @@
                   # Cells with missing or non-numeric color values will have
                   # noDataColor as their background
                   # color.
+                &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                    # to maxValue. Defaults to #109618 if not
+                    # specified.
+                    # If max_value_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
                 &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                     # them. Defaults to #000000 if not specified.
                     # If no_data_color is also set, this field takes precedence.
@@ -102309,6 +102632,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -102320,9 +102646,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -102446,6 +102769,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -102457,9 +102783,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                     # minValue. Defaults to #dc3912 if not
@@ -102585,6 +102908,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -102596,9 +102922,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -102723,6 +103046,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -102734,144 +103060,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                    # them. Defaults to #000000 if not specified.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                     # to maxValue. Defaults to #109618 if not
@@ -102994,6 +103182,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -103005,9 +103196,141 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                    # them. Defaults to #000000 if not specified.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
                   &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                   &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
                 },
                 &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                     # minValue and
@@ -103134,6 +103457,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -103145,149 +103471,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                    # to maxValue. Defaults to #109618 if not
-                    # specified.
-                    # If max_value_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
               },
@@ -103410,6 +103593,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -103421,9 +103607,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                   # If header_color is also set, this field takes precedence.
@@ -103547,6 +103730,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -103558,334 +103744,469 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                  # have the same color as cells with this value. If not specified, defaults
-                  # to the actual minimum value from color_data, or the minimum value from
-                  # size_data if color_data is not specified.
-              &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                  # have the same color as cells with this value. If not specified, defaults
-                  # to the actual maximum value from color_data, or the maximum value from
-                  # size_data if color_data is not specified.
-              &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                  # This field is optional. If not specified, size_data is used to
-                  # determine background colors. If specified, the data is expected to be
-                  # numeric. color_scale will determine how the values in this data map to
-                  # data cell background colors.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                  # expected to be numeric. The cells corresponding to non-numeric or missing
-                  # data will not be rendered. If color_data is not specified, this data
-                  # is used to determine data cell background colors as well.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
+            },
+            &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                # Not applicable to Org charts.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
             },
             &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                 # See BasicChartType for the list of all
                 # charts this supports.
                 # of charts this supports.
+              &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                  # Applies to Line charts.
+              &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                  # If not set, Google Sheets will guess how many rows are headers based
+                  # on the data.
+                  #
+                  # (Note that BasicChartAxis.title may override the axis title
+                  #  inferred from the header values.)
+              &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                  # chart area.
+              &quot;axis&quot;: [ # The axis on the chart.
+                { # An axis of the chart.
+                    # A chart may not have more than one axis per
+                    # axis position.
+                  &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                      # values in an axis).
+                    &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                        # automatically determine a maximum value that looks good for the data.
+                    &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                        # automatically determine a minimum value that looks good for the data.
+                    &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                  },
+                  &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                      # from headers of the data.
+                  &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                  &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                      # Only valid if the axis is not associated with the domain.
+                      # Absent values indicate that the field isn&#x27;t specified.
+                    &quot;fontSize&quot;: 42, # The size of the font.
+                    &quot;underline&quot;: True or False, # True if the text is underlined.
+                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                        # If foreground_color is also set, this field takes precedence.
+                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                    },
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                  },
+                  &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                },
+              ],
+              &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+              &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                  # segments of lines in a line chart will be missing).  To eliminate these
+                  # gaps set this to true.
+                  # Applies to Line, Area, and Combo charts.
               &quot;series&quot;: [ # The data this chart is visualizing.
                 { # A single series of data in a chart.
                     # For example, if charting stock prices over time, multiple series may exist,
                     # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                  &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                      # chartType is AREA,
-                      # LINE, or SCATTER.
-                      # COMBO charts are also supported if the
-                      # series chart type is
-                      # AREA or LINE.
-                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                    &quot;width&quot;: 42, # The thickness of the line, in px.
-                  },
                   &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                       # this series.  If empty, a default color is used.
                       # If color is also set, this field takes precedence.
@@ -104009,6 +104330,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -104020,9 +104344,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -104158,6 +104479,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -104169,9 +104493,73 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  },
+                  &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                      # chartType is AREA,
+                      # LINE, or SCATTER.
+                      # COMBO charts are also supported if the
+                      # series chart type is
+                      # AREA or LINE.
+                    &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                    &quot;width&quot;: 42, # The thickness of the line, in px.
                   },
                 },
               ],
@@ -104234,11 +104622,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -104246,473 +104634,10 @@
                   &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                 },
               ],
-              &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                  # Applies to Line charts.
-              &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                  # If not set, Google Sheets will guess how many rows are headers based
-                  # on the data.
-                  #
-                  # (Note that BasicChartAxis.title may override the axis title
-                  #  inferred from the header values.)
-              &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                  # chart area.
-              &quot;axis&quot;: [ # The axis on the chart.
-                { # An axis of the chart.
-                    # A chart may not have more than one axis per
-                    # axis position.
-                  &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                      # from headers of the data.
-                  &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                  &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                      # Only valid if the axis is not associated with the domain.
-                      # Absent values indicate that the field isn&#x27;t specified.
-                    &quot;fontSize&quot;: 42, # The size of the font.
-                    &quot;underline&quot;: True or False, # True if the text is underlined.
-                    &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                        # If foreground_color is also set, this field takes precedence.
-                      &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                      &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                    },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
-                    &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
-                    &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                    &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                  },
-                  &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                      # values in an axis).
-                    &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                        # automatically determine a minimum value that looks good for the data.
-                    &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                    &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                        # automatically determine a maximum value that looks good for the data.
-                  },
-                },
-              ],
-              &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-              &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                  # segments of lines in a line chart will be missing).  To eliminate these
-                  # gaps set this to true.
-                  # Applies to Line, Area, and Combo charts.
             },
-            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
             &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-              &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-              &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-              &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                &quot;width&quot;: 42, # The thickness of the line, in px.
-              },
               &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                 { # A single series of data for a waterfall chart.
-                  &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                      # subtotals are defined is not significant. Only one subtotal may be
-                      # defined for each data point.
-                    { # A custom subtotal column for a waterfall chart series.
-                      &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                          # data_is_subtotal is true, the data point at this index is the
-                          # subtotal. Otherwise, the subtotal appears after the data point with
-                          # this index. A series can have multiple subtotals at arbitrary indices,
-                          # but subtotals do not affect the indices of the data points. For
-                          # example, if a series has three data points, their indices will always
-                          # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                          # what data points they are associated with.
-                      &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                          # the subtotal will be computed and appear after the data point.
-                      &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                    },
-                  ],
-                  &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                      # a subtotal column will appear at the end of each series. Setting this
-                      # field to true will hide that subtotal column for this series.
-                  &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
                   &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                     &quot;colorStyle&quot;: { # A color value. # The color of the column.
                         # If color is also set, this field takes precedence.
@@ -104836,6 +104761,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -104847,9 +104775,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -104971,6 +104896,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -104982,9 +104910,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
@@ -105111,6 +105036,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -105122,9 +105050,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -105246,6 +105171,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -105257,9 +105185,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
@@ -105386,6 +105311,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -105397,9 +105325,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -105521,6 +105446,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -105532,15 +105460,895 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                   },
+                  &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                      # subtotals are defined is not significant. Only one subtotal may be
+                      # defined for each data point.
+                    { # A custom subtotal column for a waterfall chart series.
+                      &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                          # data_is_subtotal is true, the data point at this index is the
+                          # subtotal. Otherwise, the subtotal appears after the data point with
+                          # this index. A series can have multiple subtotals at arbitrary indices,
+                          # but subtotals do not affect the indices of the data points. For
+                          # example, if a series has three data points, their indices will always
+                          # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                          # what data points they are associated with.
+                      &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                          # the subtotal will be computed and appear after the data point.
+                      &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                    },
+                  ],
+                  &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                      # a subtotal column will appear at the end of each series. Setting this
+                      # field to true will hide that subtotal column for this series.
                 },
               ],
               &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+              &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+              },
+              &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+              &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+              &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                &quot;width&quot;: 42, # The thickness of the line, in px.
+              },
+            },
+            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+            &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                # Org charts require a unique set of labels in labels and may
+                # optionally include parent_labels and tooltips.
+                # parent_labels contain, for each node, the label identifying the parent
+                # node.  tooltips contain, for each node, an optional tooltip.
+                #
+                # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+              &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                  # If node_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                  # results in no tooltip being displayed for the node.
+                  # This field is optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                  # must be unique.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                  # A blank value indicates that the node has no parent and is a top-level
+                  # node.
+                  # This field is optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                  # If selected_node_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
             },
             &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                 # Strikethrough and underline are not supported.
@@ -105669,6 +106477,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -105680,12 +106491,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -105805,6 +106613,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -105816,751 +106627,11 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
-            &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                # Org charts require a unique set of labels in labels and may
-                # optionally include parent_labels and tooltips.
-                # parent_labels contain, for each node, the label identifying the parent
-                # node.  tooltips contain, for each node, an optional tooltip.
-                #
-                # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-              &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                  # A blank value indicates that the node has no parent and is a top-level
-                  # node.
-                  # This field is optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                  # If selected_node_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                  # If node_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                  # results in no tooltip being displayed for the node.
-                  # This field is optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-              &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-              &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                  # must be unique.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
-            },
             &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
               &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
               &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -106612,11 +106683,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -106672,22 +106743,22 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
               },
             },
-            &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                # for accessibility.
             &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                 # This field is optional.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
+            &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                # for accessibility.
             &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                 # axis labels, legend).  If a font is specified for a specific part of the
                 # chart it will override this font name.
@@ -106818,6 +106889,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -106829,12 +106903,9 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;bold&quot;: True or False, # True if the text is bold.
+              &quot;italic&quot;: True or False, # True if the text is italicized.
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -106954,6 +107025,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -106965,11 +107039,8 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
-              &quot;italic&quot;: True or False, # True if the text is italicized.
+              &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             },
@@ -106986,10 +107057,18 @@
                 # can specify a single data value, or aggregate over a range of data.
                 # Percentage or absolute difference from a baseline value can be highlighted,
                 # like changes over time.
-              &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                  # This field is optional.
+              &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                  # chart. This field is used only when number_format_source is set to
+                  # CUSTOM. This field is optional.
+                &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                    # This field is optional.
+                &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                    # This field is optional.
+              },
               &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                   # This field is optional.
+              &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                  # This field is optional.
               &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                   # 10 can be used to divide all values in the chart by 10.
                   # This field is optional.
@@ -107042,11 +107121,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -107101,17 +107180,430 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
               },
               &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                   # This field is needed only if baseline_value_data is specified.
+                &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                    # key value. This field is optional.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                    # key value. This field is optional.
+                    # If negative_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                    # This field is optional. If not specified, default positioning is used.
+                  &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                },
+                &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                    # key value. This field is optional.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                 &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                     # Absent values indicate that the field isn&#x27;t specified.
@@ -107239,6 +107731,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -107250,12 +107745,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -107375,6 +107867,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -107386,11 +107881,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -107519,6 +108011,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -107530,424 +108025,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                    # key value. This field is optional.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                    # key value. This field is optional.
-                    # If negative_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                    # This field is optional. If not specified, default positioning is used.
-                  &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                },
-                &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                    # key value. This field is optional.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
               &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                 &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -108076,6 +108155,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -108087,12 +108169,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -108212,6 +108291,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -108223,11 +108305,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -108236,14 +108315,6 @@
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
               },
-              &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                  # chart. This field is used only when number_format_source is set to
-                  # CUSTOM. This field is optional.
-                &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                    # This field is optional.
-                &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                    # This field is optional.
-              },
             },
             &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                 # Not applicable to Org charts.
@@ -108368,6 +108439,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -108379,77 +108453,11 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
             &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
             &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-              &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                  # 0 is fully transparent and 1 is fully opaque.
-              &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                  # the bubbles at different sizes relative to each other.
-                  # If specified, group_ids must also be specified.  This field is
-                  # optional.
-                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                      # Exactly one dimension must have a length of 1,
-                      # and all sources in the list must have the same dimension
-                      # with length 1.
-                      # The domain (if it exists) &amp; all series must have the same number
-                      # of source ranges. If using more than one source range, then the source
-                      # range at a given offset must be in order and contiguous across the domain
-                      # and series.
-                      #
-                      # For example, these are valid configurations:
-                      #
-                      #     domain sources: A1:A5
-                      #     series1 sources: B1:B5
-                      #     series2 sources: D6:D10
-                      #
-                      #     domain sources: A1:A5, C10:C12
-                      #     series1 sources: B1:B5, D10:D12
-                      #     series2 sources: C1:C5, E10:E12
-                    { # A range on a sheet.
-                        # All indexes are zero-based.
-                        # Indexes are half open, e.g the start index is inclusive
-                        # and the end index is exclusive -- [start_index, end_index).
-                        # Missing indexes indicate the range is unbounded on that side.
-                        #
-                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                        #
-                        #   `Sheet1!A1:A1 == sheet_id: 0,
-                        #                   start_row_index: 0, end_row_index: 1,
-                        #                   start_column_index: 0, end_column_index: 1`
-                        #
-                        #   `Sheet1!A3:B4 == sheet_id: 0,
-                        #                   start_row_index: 2, end_row_index: 4,
-                        #                   start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A:B == sheet_id: 0,
-                        #                 start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1!A5:B == sheet_id: 0,
-                        #                  start_row_index: 4,
-                        #                  start_column_index: 0, end_column_index: 2`
-                        #
-                        #   `Sheet1 == sheet_id:0`
-                        #
-                        # The start index must always be less than or equal to the end index.
-                        # If the start index equals the end index, then the range is empty.
-                        # Empty ranges are typically not meaningful and are usually rendered in the
-                        # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      &quot;sheetId&quot;: 42, # The sheet this range is on.
-                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                    },
-                  ],
-                },
-              },
               &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                   # If specific, the field must be a positive value.
               &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -108571,6 +108579,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -108582,9 +108593,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                   # If specified, the field must be a positive value.
@@ -108710,6 +108718,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -108721,9 +108732,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -108778,11 +108786,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -108837,11 +108845,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -108895,11 +108903,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -108955,11 +108963,11 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -109091,6 +109099,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -109102,12 +109113,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -109227,6 +109235,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -109238,41 +109249,84 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-            },
-          },
-          &quot;chartId&quot;: 42, # The ID of the chart.
-          &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-            &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-              &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                  # All indexes are zero-based.
-                &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+              &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                  # the bubbles at different sizes relative to each other.
+                  # If specified, group_ids must also be specified.  This field is
+                  # optional.
+                &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                  &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) &amp; all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be in order and contiguous across the domain
+                      # and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                        #
+                        #   `Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1`
+                        #
+                        #   `Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2`
+                        #
+                        #   `Sheet1 == sheet_id:0`
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      &quot;sheetId&quot;: 42, # The sheet this range is on.
+                      &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
               },
-              &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-              &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                  # from the anchor cell.
-              &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+              &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                  # 0 is fully transparent and 1 is fully opaque.
             },
-            &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                # is chosen for you. Used only when writing.
-            &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                # is on its own sheet. Must be non-negative.
           },
         },
       ],
       &quot;protectedRanges&quot;: [ # The protected ranges in this sheet.
         { # A protected range.
+          &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+              #
+              # When writing, only one of range or named_range_id
+              # may be set.
           &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
               # Unprotected ranges are only supported on protected sheets.
             { # A range on a sheet.
@@ -109304,11 +109358,11 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
           ],
           &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -109351,21 +109405,12 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
-          &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-              # Warning-based protection means that every user can edit data in the
-              # protected range, except editing will prompt a warning asking the user
-              # to confirm the edit.
-              #
-              # When writing: if this field is true, then editors is ignored.
-              # Additionally, if this field is changed from true to false and the
-              # `editors` field is not set (nor included in the field mask), then
-              # the editors will be set to all the editors in the document.
           &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
               # This field is only visible to users with edit access to the protected
               # range and the document.
@@ -109379,10 +109424,15 @@
               &quot;A String&quot;,
             ],
           },
-          &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+          &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+              # Warning-based protection means that every user can edit data in the
+              # protected range, except editing will prompt a warning asking the user
+              # to confirm the edit.
               #
-              # When writing, only one of range or named_range_id
-              # may be set.
+              # When writing: if this field is true, then editors is ignored.
+              # Additionally, if this field is changed from true to false and the
+              # `editors` field is not set (nor included in the field mask), then
+              # the editors will be set to all the editors in the document.
         },
       ],
       &quot;basicFilter&quot;: { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -109510,6 +109560,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -109521,9 +109574,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                 # (This does not override hidden_values -- if a value is listed there,
@@ -109672,6 +109722,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -109683,9 +109736,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                 # shown. This field is mutually exclusive with visible_foreground_color,
@@ -109811,6 +109861,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -109822,9 +109875,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -109951,6 +110001,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -109962,9 +110015,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -110001,11 +110051,11 @@
             # If the start index equals the end index, then the range is empty.
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           &quot;sheetId&quot;: 42, # The sheet this range is on.
           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
         },
         &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
             # are equal in the earlier specifications.
@@ -110130,6 +110180,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -110141,9 +110194,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                 # to the top. Mutually exclusive with foreground_color, and must be an
@@ -110269,6 +110319,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -110280,9 +110333,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -110411,6 +110461,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -110422,9 +110475,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -110547,6 +110597,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -110558,9 +110611,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
         ],
@@ -110595,1134 +110645,15 @@
             # If the start index equals the end index, then the range is empty.
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           &quot;sheetId&quot;: 42, # The sheet this range is on.
           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
         },
       ],
       &quot;bandedRanges&quot;: [ # The banded (alternating colors) ranges on this sheet.
         { # A banded (alternating colors) range in a sheet.
-          &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-              # by-column basis throughout all the columns in the range. At least one of
-              # row_properties or column_properties must be specified.
-              # BandedRange.row_properties and BandedRange.column_properties are
-              # set, the fill colors are applied to cells according to the following rules:
-              #
-              # * header_color and footer_color take priority over band colors.
-              # * first_band_color takes priority over second_band_color.
-              # * row_properties takes priority over column_properties.
-              #
-              # For example, the first row color takes priority over the first column
-              # color, but the first column color takes priority over the second row color.
-              # Similarly, the row header takes priority over the column header in the
-              # top left cell, but the column header takes priority over the first row
-              # color if the row header is not set.
-            &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                # If first_band_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                # or column is filled with this color and the colors alternate between
-                # first_band_color and second_band_color starting from the second
-                # row or column. Otherwise, the first row or column is filled with
-                # first_band_color and the colors proceed to alternate as they normally
-                # would.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                # or column is filled with this color and the colors alternate between
-                # first_band_color and second_band_color starting from the second
-                # row or column. Otherwise, the first row or column is filled with
-                # first_band_color and the colors proceed to alternate as they normally
-                # would. If header_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                # If second_band_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                # row or column is filled with either first_band_color or
-                # second_band_color, depending on the color of the previous row or
-                # column.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                # row or column is filled with either first_band_color or
-                # second_band_color, depending on the color of the previous row or
-                # column.
-                # If footer_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-          },
           &quot;bandedRangeId&quot;: 42, # The id of the banded range.
           &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
               # basis throughout all the rows in the range. At least one of
@@ -111739,6 +110670,690 @@
               # Similarly, the row header takes priority over the column header in the
               # top left cell, but the column header takes priority over the first row
               # color if the row header is not set.
+            &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                # If second_band_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                # row or column is filled with either first_band_color or
+                # second_band_color, depending on the color of the previous row or
+                # column.
+                # If footer_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                # row or column is filled with either first_band_color or
+                # second_band_color, depending on the color of the previous row or
+                # column.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
             &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                 # If first_band_color is also set, this field takes precedence.
               &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -111861,6 +111476,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -111872,284 +111490,8 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
-            &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                # or column is filled with this color and the colors alternate between
-                # first_band_color and second_band_color starting from the second
-                # row or column. Otherwise, the first row or column is filled with
-                # first_band_color and the colors proceed to alternate as they normally
-                # would.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
             &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                 # or column is filled with this color and the colors alternate between
                 # first_band_color and second_band_color starting from the second
@@ -112276,6 +111618,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -112287,12 +111632,14 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
-            &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+            &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                # or column is filled with this color and the colors alternate between
+                # first_band_color and second_band_color starting from the second
+                # row or column. Otherwise, the first row or column is filled with
+                # first_band_color and the colors proceed to alternate as they normally
+                # would.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
                 # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -112411,6 +111758,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -112422,425 +111772,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                # If second_band_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-            },
-            &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                # row or column is filled with either first_band_color or
-                # second_band_color, depending on the color of the previous row or
-                # column.
-                # for simplicity of conversion to/from color representations in various
-                # languages over compactness; for example, the fields of this representation
-                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                # method in iOS; and, with just a little work, it can be easily formatted into
-                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                #
-                # Note: this proto does not carry information about the absolute color space
-                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                # space.
-                #
-                # Example (Java):
-                #
-                #      import com.google.type.Color;
-                #
-                #      // ...
-                #      public static java.awt.Color fromProto(Color protocolor) {
-                #        float alpha = protocolor.hasAlpha()
-                #            ? protocolor.getAlpha().getValue()
-                #            : 1.0;
-                #
-                #        return new java.awt.Color(
-                #            protocolor.getRed(),
-                #            protocolor.getGreen(),
-                #            protocolor.getBlue(),
-                #            alpha);
-                #      }
-                #
-                #      public static Color toProto(java.awt.Color color) {
-                #        float red = (float) color.getRed();
-                #        float green = (float) color.getGreen();
-                #        float blue = (float) color.getBlue();
-                #        float denominator = 255.0;
-                #        Color.Builder resultBuilder =
-                #            Color
-                #                .newBuilder()
-                #                .setRed(red / denominator)
-                #                .setGreen(green / denominator)
-                #                .setBlue(blue / denominator);
-                #        int alpha = color.getAlpha();
-                #        if (alpha != 255) {
-                #          result.setAlpha(
-                #              FloatValue
-                #                  .newBuilder()
-                #                  .setValue(((float) alpha) / denominator)
-                #                  .build());
-                #        }
-                #        return resultBuilder.build();
-                #      }
-                #      // ...
-                #
-                # Example (iOS / Obj-C):
-                #
-                #      // ...
-                #      static UIColor* fromProto(Color* protocolor) {
-                #         float red = [protocolor red];
-                #         float green = [protocolor green];
-                #         float blue = [protocolor blue];
-                #         FloatValue* alpha_wrapper = [protocolor alpha];
-                #         float alpha = 1.0;
-                #         if (alpha_wrapper != nil) {
-                #           alpha = [alpha_wrapper value];
-                #         }
-                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                #      }
-                #
-                #      static Color* toProto(UIColor* color) {
-                #          CGFloat red, green, blue, alpha;
-                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                #            return nil;
-                #          }
-                #          Color* result = [[Color alloc] init];
-                #          [result setRed:red];
-                #          [result setGreen:green];
-                #          [result setBlue:blue];
-                #          if (alpha &lt;= 0.9999) {
-                #            [result setAlpha:floatWrapperWithValue(alpha)];
-                #          }
-                #          [result autorelease];
-                #          return result;
-                #     }
-                #     // ...
-                #
-                #  Example (JavaScript):
-                #
-                #     // ...
-                #
-                #     var protoToCssColor = function(rgb_color) {
-                #        var redFrac = rgb_color.red || 0.0;
-                #        var greenFrac = rgb_color.green || 0.0;
-                #        var blueFrac = rgb_color.blue || 0.0;
-                #        var red = Math.floor(redFrac * 255);
-                #        var green = Math.floor(greenFrac * 255);
-                #        var blue = Math.floor(blueFrac * 255);
-                #
-                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                #           return rgbToCssColor_(red, green, blue);
-                #        }
-                #
-                #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                #     };
-                #
-                #     var rgbToCssColor_ = function(red, green, blue) {
-                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                #       var hexString = rgbNumber.toString(16);
-                #       var missingZeros = 6 - hexString.length;
-                #       var resultBuilder = [&#x27;#&#x27;];
-                #       for (var i = 0; i &lt; missingZeros; i++) {
-                #          resultBuilder.push(&#x27;0&#x27;);
-                #       }
-                #       resultBuilder.push(hexString);
-                #       return resultBuilder.join(&#x27;&#x27;);
-                #     };
-                #
-                #     // ...
-              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                  # the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color. This
-                  # uses a wrapper message rather than a simple float scalar so that it is
-                  # possible to distinguish between a default value and the value being unset.
-                  # If omitted, this color object is to be rendered as a solid color
-                  # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-            },
-            &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                # row or column is filled with either first_band_color or
-                # second_band_color, depending on the color of the previous row or
-                # column.
-                # If footer_color is also set, this field takes precedence.
-              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
             },
           },
           &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -112872,11 +111803,1130 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+          },
+          &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+              # by-column basis throughout all the columns in the range. At least one of
+              # row_properties or column_properties must be specified.
+              # BandedRange.row_properties and BandedRange.column_properties are
+              # set, the fill colors are applied to cells according to the following rules:
+              #
+              # * header_color and footer_color take priority over band colors.
+              # * first_band_color takes priority over second_band_color.
+              # * row_properties takes priority over column_properties.
+              #
+              # For example, the first row color takes priority over the first column
+              # color, but the first column color takes priority over the second row color.
+              # Similarly, the row header takes priority over the column header in the
+              # top left cell, but the column header takes priority over the first row
+              # color if the row header is not set.
+            &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                # If second_band_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                # row or column is filled with either first_band_color or
+                # second_band_color, depending on the color of the previous row or
+                # column.
+                # If footer_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                # row or column is filled with either first_band_color or
+                # second_band_color, depending on the color of the previous row or
+                # column.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
+            &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                # If first_band_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                # or column is filled with this color and the colors alternate between
+                # first_band_color and second_band_color starting from the second
+                # row or column. Otherwise, the first row or column is filled with
+                # first_band_color and the colors proceed to alternate as they normally
+                # would. If header_color is also set, this field takes precedence.
+              &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+              &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+            },
+            &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                # or column is filled with this color and the colors alternate between
+                # first_band_color and second_band_color starting from the second
+                # row or column. Otherwise, the first row or column is filled with
+                # first_band_color and the colors proceed to alternate as they normally
+                # would.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                #
+                # Note: this proto does not carry information about the absolute color space
+                # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                # space.
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [[Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha &lt;= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = [&#x27;#&#x27;];
+                #       for (var i = 0; i &lt; missingZeros; i++) {
+                #          resultBuilder.push(&#x27;0&#x27;);
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join(&#x27;&#x27;);
+                #     };
+                #
+                #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+            },
           },
         },
       ],
@@ -112896,16 +112946,14 @@
             # (If the sheet is an object sheet, containing a chart or image, then
             # this field will be absent.)
             # When writing it is an error to set any grid properties on non-grid sheets.
+          &quot;rowCount&quot;: 42, # The number of rows in the grid.
+          &quot;columnCount&quot;: 42, # The number of columns in the grid.
+          &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
           &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
           &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
           &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
           &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-          &quot;rowCount&quot;: 42, # The number of rows in the grid.
-          &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-          &quot;columnCount&quot;: 42, # The number of columns in the grid.
         },
-        &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-            # This field cannot be changed once set.
         &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
             # for simplicity of conversion to/from color representations in various
             # languages over compactness; for example, the fields of this representation
@@ -113025,6 +113073,9 @@
             #     };
             #
             #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
               # the final pixel color is defined by the equation:
               #
@@ -113036,10 +113087,9 @@
               # possible to distinguish between a default value and the value being unset.
               # If omitted, this color object is to be rendered as a solid color
               # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
         },
+        &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+            # This field cannot be changed once set.
         &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
         &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
             # If tab_color is also set, this field takes precedence.
@@ -113163,6 +113213,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -113174,9 +113227,6 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
         },
         &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -113216,50 +113266,164 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
           ],
           &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-            &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                # the format is applied.
-                # BooleanConditions are used by conditional formatting,
-                # data validation, and the criteria in filters.
-              &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                  # on the condition type.  Some support zero values,
-                  # others one or two values,
-                  # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                { # The value of the condition.
-                  &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                      # Valid only if the type is
-                      # DATE_BEFORE,
-                      # DATE_AFTER,
-                      # DATE_ON_OR_BEFORE or
-                      # DATE_ON_OR_AFTER.
-                      #
-                      # Relative dates are not supported in data validation.
-                      # They are supported only in conditional formatting and
-                      # conditional filters.
-                  &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                      # The value is parsed as if the user typed into a cell.
-                      # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                },
-              ],
-              &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-            },
             &quot;format&quot;: { # The format of a cell. # The format to apply.
                 # Conditional formatting can only apply a subset of formatting:
                 # bold, italic,
                 # strikethrough,
                 # foreground color &amp;
                 # background color.
+              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                &quot;left&quot;: 42, # The left padding of the cell.
+                &quot;top&quot;: 42, # The top padding of the cell.
+                &quot;right&quot;: 42, # The right padding of the cell.
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
               &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                 &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user&#x27;s locale will be used if necessary for the given type.
@@ -113268,6 +113432,7 @@
                 &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                     # When writing, this field must be set.
               },
+              &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
               &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                 &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                   &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -113394,6 +113559,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -113405,9 +113573,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -113529,6 +113694,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -113540,9 +113708,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -113671,6 +113836,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -113682,9 +113850,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -113806,6 +113971,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -113817,9 +113985,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -113948,6 +114113,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -113959,9 +114127,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -114083,6 +114248,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -114094,9 +114262,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -114225,6 +114390,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -114236,9 +114404,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -114360,6 +114525,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -114371,9 +114539,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                 },
@@ -114505,6 +114670,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -114516,12 +114684,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -114641,6 +114806,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -114652,35 +114820,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                    # Measured in degrees. Valid values are between -90 and 90. Positive
-                    # angles are angled upwards, negative are angled downwards.
-                    #
-                    # Note: For LTR text direction positive angles are in the
-                    # counterclockwise direction, whereas for RTL they are in the clockwise
-                    # direction
-                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                    # characters is unchanged.
-                    # For example:
-                    #
-                    #     | V |
-                    #     | e |
-                    #     | r |
-                    #     | t |
-                    #     | i |
-                    #     | c |
-                    #     | a |
-                    #     | l |
-              },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                   # If background_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -114803,6 +114947,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -114814,153 +114961,56 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                  # When updating padding, every field must be specified.
-                &quot;right&quot;: 42, # The right padding of the cell.
-                &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                &quot;left&quot;: 42, # The left padding of the cell.
-                &quot;top&quot;: 42, # The top padding of the cell.
-              },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
+              &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
                     #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    # Note: For LTR text direction positive angles are in the
+                    # counterclockwise direction, whereas for RTL they are in the clockwise
+                    # direction
+                &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
                     #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
               },
             },
+            &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                # the format is applied.
+                # BooleanConditions are used by conditional formatting,
+                # data validation, and the criteria in filters.
+              &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                  # on the condition type.  Some support zero values,
+                  # others one or two values,
+                  # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                { # The value of the condition.
+                  &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                      # Valid only if the type is
+                      # DATE_BEFORE,
+                      # DATE_AFTER,
+                      # DATE_ON_OR_BEFORE or
+                      # DATE_ON_OR_AFTER.
+                      #
+                      # Relative dates are not supported in data validation.
+                      # They are supported only in conditional formatting and
+                      # conditional filters.
+                  &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                      # The value is parsed as if the user typed into a cell.
+                      # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                },
+              ],
+              &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+            },
           },
           &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
               # the interpolation points listed. The format of a cell will vary
@@ -114969,9 +115019,6 @@
             &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                 # These pin the gradient color scale according to the color,
                 # type and value chosen.
-              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                  # Unused if type is MIN or
-                  # MAX.
               &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                   # If color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -115094,6 +115141,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -115105,9 +115155,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -115229,6 +115276,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -115240,18 +115290,15 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                  # Unused if type is MIN or
+                  # MAX.
             },
             &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                 # These pin the gradient color scale according to the color,
                 # type and value chosen.
-              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                  # Unused if type is MIN or
-                  # MAX.
               &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                   # If color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -115374,6 +115421,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -115385,9 +115435,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -115509,6 +115556,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -115520,18 +115570,15 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                  # Unused if type is MIN or
+                  # MAX.
             },
             &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                 # These pin the gradient color scale according to the color,
                 # type and value chosen.
-              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                  # Unused if type is MIN or
-                  # MAX.
               &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                   # If color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -115654,6 +115701,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -115665,9 +115715,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -115789,6 +115836,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -115800,11 +115850,11 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+              &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                  # Unused if type is MIN or
+                  # MAX.
             },
           },
         },
@@ -115822,7 +115872,6 @@
           &quot;columnMetadata&quot;: [ # Metadata about the requested columns in the grid, starting with the column
               # in start_column.
             { # Properties about a dimension.
-              &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                   # This field is read-only.
               &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -115854,14 +115903,15 @@
                         # Indexes are half open: the start index is inclusive
                         # and the end index is exclusive.
                         # Missing indexes indicate the range is unbounded on that side.
+                      &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       &quot;sheetId&quot;: 42, # The sheet this span is on.
                       &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                       &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                      &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                     },
                   },
                 },
               ],
+              &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
             },
           ],
           &quot;rowData&quot;: [ # The data in the grid, one entry per row,
@@ -115871,47 +115921,16 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
+                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                      # This is the value as it&#x27;s shown to the user.
+                      # This field is read-only.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                       # is computed dynamically based on its data, grouping, filters, values,
                       # etc. Only the top-left cell of the pivot table contains the pivot table
                       # definition. The other cells will contain the calculated values of the
                       # results of the pivot in their effective_value fields.
-                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
                       { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
                         &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                             # This is only valid for row groupings and is ignored by columns.
                             #
@@ -115934,13 +115953,6 @@
                             &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -115949,6 +115961,13 @@
                               &quot;numberValue&quot;: 3.14, # Represents a double value.
                                   # Note: Dates, Times and DateTimes are represented as doubles in
                                   # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
                             },
                           },
                         ],
@@ -116064,13 +116083,6 @@
                                     # group within a given ManualRule. Items that do not appear in any
                                     # group will appear on their own.
                                   { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -116079,17 +116091,17 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 ],
                                 &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                     # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -116098,6 +116110,13 @@
                                   &quot;numberValue&quot;: 3.14, # Represents a double value.
                                       # Note: Dates, Times and DateTimes are represented as doubles in
                                       # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 },
                               },
                             ],
@@ -116121,6 +116140,303 @@
                             #     +--------------+---------+-------+
                             #     | Grand Total  |    1110 |   636 |
                             #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
+                      },
+                    ],
+                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                        # or vertically (as rows).
+                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                        #
+                        # The filters are applied before aggregating data into the pivot table.
+                        # The map&#x27;s key is the column offset of the source range that you want to
+                        # filter, and the value is the criteria for that column.
+                        #
+                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                        # for column `C`, whereas the key `1` is for column `D`.
+                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                          &quot;A String&quot;,
+                        ],
+                      },
+                    },
+                    &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                            # This is only valid for row groupings and is ignored by columns.
+                            #
+                            # By default, we minimize repitition of headings by not showing higher
+                            # level headings where they are the same. For example, even though the
+                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                            # it is redundant with previous rows. Setting repeat_headings to true
+                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                            #
+                            #     +--------------+
+                            #     | Q1     | Jan |
+                            #     |        | Feb |
+                            #     |        | Mar |
+                            #     +--------+-----+
+                            #     | Q1 Total     |
+                            #     +--------------+
+                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          },
+                        ],
+                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
+                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                            # in the source data column rather than breaking out each individual value.
+                            # Only one PivotGroup with a group rule may be added for each column in
+                            # the source data, though on any given column you may add both a
+                            # PivotGroup that has a rule and a PivotGroup that does not.
+                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                              # buckets of a constant size. All values from HistogramRule.start to
+                              # HistogramRule.end are placed into groups of size
+                              # HistogramRule.interval. In addition, all values below
+                              # HistogramRule.start are placed in one group, and all values above
+                              # HistogramRule.end are placed in another. Only
+                              # HistogramRule.interval is required, though if HistogramRule.start
+                              # and HistogramRule.end are both provided, HistogramRule.start must
+                              # be less than HistogramRule.end. For example, a pivot table showing
+                              # average purchase amount by age that has 50+ rows:
+                              #
+                              #     +-----+-------------------+
+                              #     | Age | AVERAGE of Amount |
+                              #     +-----+-------------------+
+                              #     | 16  |            $27.13 |
+                              #     | 17  |             $5.24 |
+                              #     | 18  |            $20.15 |
+                              #     ...
+                              #     +-----+-------------------+
+                              # could be turned into a pivot table that looks like the one below by
+                              # applying a histogram group rule with a HistogramRule.start of 25,
+                              # an HistogramRule.interval of 20, and an HistogramRule.end
+                              # of 65.
+                              #
+                              #     +-------------+-------------------+
+                              #     | Grouped Age | AVERAGE of Amount |
+                              #     +-------------+-------------------+
+                              #     | &lt; 25        |            $19.34 |
+                              #     | 25-45       |            $31.43 |
+                              #     | 45-65       |            $35.87 |
+                              #     | &gt; 65        |            $27.55 |
+                              #     +-------------+-------------------+
+                              #     | Grand Total |            $29.12 |
+                              #     +-------------+-------------------+
+                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                # of constant size. Values below start are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                # of constant size. Values above end are lumped into a single bucket.
+                                # This field is optional.
+                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                          },
+                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                              # buckets based on selected parts of their date or time values. For example,
+                              # consider a pivot table showing sales transactions by date:
+                              #
+                              #     +----------+--------------+
+                              #     | Date     | SUM of Sales |
+                              #     +----------+--------------+
+                              #     | 1/1/2017 |      $621.14 |
+                              #     | 2/3/2017 |      $708.84 |
+                              #     | 5/8/2017 |      $326.84 |
+                              #     ...
+                              #     +----------+--------------+
+                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                              # results in the following pivot table.
+                              #
+                              #     +--------------+--------------+
+                              #     | Grouped Date | SUM of Sales |
+                              #     +--------------+--------------+
+                              #     | 2017-Jan     |   $53,731.78 |
+                              #     | 2017-Feb     |   $83,475.32 |
+                              #     | 2017-Mar     |   $94,385.05 |
+                              #     ...
+                              #     +--------------+--------------+
+                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                          },
+                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                              # buckets with names of your choosing. For example, a pivot table that
+                              # aggregates population by state:
+                              #
+                              #     +-------+-------------------+
+                              #     | State | SUM of Population |
+                              #     +-------+-------------------+
+                              #     | AK    |               0.7 |
+                              #     | AL    |               4.8 |
+                              #     | AR    |               2.9 |
+                              #     ...
+                              #     +-------+-------------------+
+                              # could be turned into a pivot table that aggregates population by time zone
+                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                              # Note that a similar effect could be achieved by adding a time zone column
+                              # to the source data and adjusting the pivot table.
+                              #
+                              #     +-----------+-------------------+
+                              #     | Time Zone | SUM of Population |
+                              #     +-----------+-------------------+
+                              #     | Central   |             106.3 |
+                              #     | Eastern   |             151.9 |
+                              #     | Mountain  |              17.4 |
+                              #     ...
+                              #     +-----------+-------------------+
+                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                # that map to each group name.
+                              { # A group name and a list of items from the source data that should be placed
+                                  # in the group with this name.
+                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                    # item may be a string, number, or boolean. Items may appear in at most one
+                                    # group within a given ManualRule. Items that do not appear in any
+                                    # group will appear on their own.
+                                  { # The kinds of value that a cell in a spreadsheet can have.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                ],
+                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                    # ManualRule must have a unique group name.
+                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                      # `&quot;123&quot;`.
+                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # &quot;serial number&quot; format.
+                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                        # (in the spreadsheet&#x27;s locale).
+                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                  },
+                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                },
+                              },
+                            ],
+                          },
+                        },
+                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                            # example, in the following pivot table, the row label is `Region` (which
+                            # could be renamed to `State`) and the column label is `Product` (which
+                            # could be renamed `Item`). Pivot tables created before December 2017 do
+                            # not have header labels. If you&#x27;d like to add header labels to an existing
+                            # pivot table, please delete the existing pivot table and then create a new
+                            # pivot table with same parameters.
+                            #
+                            #     +--------------+---------+-------+
+                            #     | SUM of Units | Product |       |
+                            #     | Region       | Pen     | Paper |
+                            #     +--------------+---------+-------+
+                            #     | New York     |     345 |    98 |
+                            #     | Oregon       |     234 |   123 |
+                            #     | Tennessee    |     531 |   415 |
+                            #     +--------------+---------+-------+
+                            #     | Grand Total  |    1110 |   636 |
+                            #     +--------------+---------+-------+
+                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group&#x27;s values.
+                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group &amp; two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                              # this would correspond to using the &quot;Total&quot; of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                  # `&quot;123&quot;`.
+                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # &quot;serial number&quot; format.
+                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                    # (in the spreadsheet&#x27;s locale).
+                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                              },
+                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                            },
+                          ],
+                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                              # grouping should be sorted by.
+                        },
                       },
                     ],
                     &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -116152,20 +116468,14 @@
                         # If the start index equals the end index, then the range is empty.
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
-                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       &quot;sheetId&quot;: 42, # The sheet this range is on.
                       &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                       &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                     },
                     &quot;values&quot;: [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
-                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                            # the result of a calculation with another pivot value. For example, if
-                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                            # pivot values are displayed as the percentage of the grand total. In
-                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                            # pivot table.
                         &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                             #
                             # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -116180,275 +116490,15 @@
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # is not supported.
                         &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                        &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                            # the result of a calculation with another pivot value. For example, if
+                            # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                            # pivot values are displayed as the percentage of the grand total. In
+                            # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                            # pivot table.
                       },
                     ],
-                    &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                      { # A single grouping (either row or column) in a pivot table.
-                        &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                        &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                        &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                            # If not specified, sorting is alphabetical by this group&#x27;s values.
-                          &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                              # grouping should be sorted by.
-                          &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                              #
-                              # For example, in a pivot table with one row group &amp; two column groups,
-                              # the row group can list up to two values. The first value corresponds
-                              # to a value within the first column group, and the second value
-                              # corresponds to a value in the second column group.  If no values
-                              # are listed, this would indicate that the row should be sorted according
-                              # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                              # this would correspond to using the &quot;Total&quot; of that bucket.
-                            { # The kinds of value that a cell in a spreadsheet can have.
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          ],
-                        },
-                        &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                            # This is only valid for row groupings and is ignored by columns.
-                            #
-                            # By default, we minimize repitition of headings by not showing higher
-                            # level headings where they are the same. For example, even though the
-                            # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                            # it is redundant with previous rows. Setting repeat_headings to true
-                            # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                            #
-                            #     +--------------+
-                            #     | Q1     | Jan |
-                            #     |        | Feb |
-                            #     |        | Mar |
-                            #     +--------+-----+
-                            #     | Q1 Total     |
-                            #     +--------------+
-                        &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                          { # Metadata about a value in a pivot grouping.
-                            &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                            &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                # (Note that formulaValue is not valid,
-                                #  because the values will be calculated.)
-                              &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                  # This field is read-only.
-                                &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                    # (in the spreadsheet&#x27;s locale).
-                                &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                              },
-                              &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                  # Leading single quotes are not included. For example, if the user typed
-                                  # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                  # `&quot;123&quot;`.
-                              &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # &quot;serial number&quot; format.
-                            },
-                          },
-                        ],
-                        &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this group refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
-                        &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                            # in the source data column rather than breaking out each individual value.
-                            # Only one PivotGroup with a group rule may be added for each column in
-                            # the source data, though on any given column you may add both a
-                            # PivotGroup that has a rule and a PivotGroup that does not.
-                          &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                              # buckets of a constant size. All values from HistogramRule.start to
-                              # HistogramRule.end are placed into groups of size
-                              # HistogramRule.interval. In addition, all values below
-                              # HistogramRule.start are placed in one group, and all values above
-                              # HistogramRule.end are placed in another. Only
-                              # HistogramRule.interval is required, though if HistogramRule.start
-                              # and HistogramRule.end are both provided, HistogramRule.start must
-                              # be less than HistogramRule.end. For example, a pivot table showing
-                              # average purchase amount by age that has 50+ rows:
-                              #
-                              #     +-----+-------------------+
-                              #     | Age | AVERAGE of Amount |
-                              #     +-----+-------------------+
-                              #     | 16  |            $27.13 |
-                              #     | 17  |             $5.24 |
-                              #     | 18  |            $20.15 |
-                              #     ...
-                              #     +-----+-------------------+
-                              # could be turned into a pivot table that looks like the one below by
-                              # applying a histogram group rule with a HistogramRule.start of 25,
-                              # an HistogramRule.interval of 20, and an HistogramRule.end
-                              # of 65.
-                              #
-                              #     +-------------+-------------------+
-                              #     | Grouped Age | AVERAGE of Amount |
-                              #     +-------------+-------------------+
-                              #     | &lt; 25        |            $19.34 |
-                              #     | 25-45       |            $31.43 |
-                              #     | 45-65       |            $35.87 |
-                              #     | &gt; 65        |            $27.55 |
-                              #     +-------------+-------------------+
-                              #     | Grand Total |            $29.12 |
-                              #     +-------------+-------------------+
-                            &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                # of constant size. Values below start are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                # of constant size. Values above end are lumped into a single bucket.
-                                # This field is optional.
-                            &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                          },
-                          &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                              # buckets based on selected parts of their date or time values. For example,
-                              # consider a pivot table showing sales transactions by date:
-                              #
-                              #     +----------+--------------+
-                              #     | Date     | SUM of Sales |
-                              #     +----------+--------------+
-                              #     | 1/1/2017 |      $621.14 |
-                              #     | 2/3/2017 |      $708.84 |
-                              #     | 5/8/2017 |      $326.84 |
-                              #     ...
-                              #     +----------+--------------+
-                              # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                              # results in the following pivot table.
-                              #
-                              #     +--------------+--------------+
-                              #     | Grouped Date | SUM of Sales |
-                              #     +--------------+--------------+
-                              #     | 2017-Jan     |   $53,731.78 |
-                              #     | 2017-Feb     |   $83,475.32 |
-                              #     | 2017-Mar     |   $94,385.05 |
-                              #     ...
-                              #     +--------------+--------------+
-                            &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                          },
-                          &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                              # buckets with names of your choosing. For example, a pivot table that
-                              # aggregates population by state:
-                              #
-                              #     +-------+-------------------+
-                              #     | State | SUM of Population |
-                              #     +-------+-------------------+
-                              #     | AK    |               0.7 |
-                              #     | AL    |               4.8 |
-                              #     | AR    |               2.9 |
-                              #     ...
-                              #     +-------+-------------------+
-                              # could be turned into a pivot table that aggregates population by time zone
-                              # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                              # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                              # Note that a similar effect could be achieved by adding a time zone column
-                              # to the source data and adjusting the pivot table.
-                              #
-                              #     +-----------+-------------------+
-                              #     | Time Zone | SUM of Population |
-                              #     +-----------+-------------------+
-                              #     | Central   |             106.3 |
-                              #     | Eastern   |             151.9 |
-                              #     | Mountain  |              17.4 |
-                              #     ...
-                              #     +-----------+-------------------+
-                            &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                # that map to each group name.
-                              { # A group name and a list of items from the source data that should be placed
-                                  # in the group with this name.
-                                &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                    # item may be a string, number, or boolean. Items may appear in at most one
-                                    # group within a given ManualRule. Items that do not appear in any
-                                    # group will appear on their own.
-                                  { # The kinds of value that a cell in a spreadsheet can have.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                ],
-                                &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                    # ManualRule must have a unique group name.
-                                  &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                      # This field is read-only.
-                                    &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                        # (in the spreadsheet&#x27;s locale).
-                                    &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                  },
-                                  &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                  &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                      # Leading single quotes are not included. For example, if the user typed
-                                      # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                      # `&quot;123&quot;`.
-                                  &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # &quot;serial number&quot; format.
-                                },
-                              },
-                            ],
-                          },
-                        },
-                        &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                            # example, in the following pivot table, the row label is `Region` (which
-                            # could be renamed to `State`) and the column label is `Product` (which
-                            # could be renamed `Item`). Pivot tables created before December 2017 do
-                            # not have header labels. If you&#x27;d like to add header labels to an existing
-                            # pivot table, please delete the existing pivot table and then create a new
-                            # pivot table with same parameters.
-                            #
-                            #     +--------------+---------+-------+
-                            #     | SUM of Units | Product |       |
-                            #     | Region       | Pen     | Paper |
-                            #     +--------------+---------+-------+
-                            #     | New York     |     345 |    98 |
-                            #     | Oregon       |     234 |   123 |
-                            #     | Tennessee    |     531 |   415 |
-                            #     +--------------+---------+-------+
-                            #     | Grand Total  |    1110 |   636 |
-                            #     +--------------+---------+-------+
-                      },
-                    ],
-                    &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                        # or vertically (as rows).
-                    &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                        #
-                        # The filters are applied before aggregating data into the pivot table.
-                        # The map&#x27;s key is the column offset of the source range that you want to
-                        # filter, and the value is the criteria for that column.
-                        #
-                        # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                        # for column `C`, whereas the key `1` is for column `D`.
-                      &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                        &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                          &quot;A String&quot;,
-                        ],
-                      },
-                    },
                   },
-                  &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                      # This is the value as it&#x27;s shown to the user.
-                      # This field is read-only.
                   &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                       # on user entered strings, not formulas, bools, or numbers.
                       # Runs start at specific indexes in the text and continue until the next
@@ -116587,6 +116637,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -116598,12 +116651,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -116723,6 +116773,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -116734,11 +116787,8 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
@@ -116749,13 +116799,6 @@
                       # the calculated value.  For cells with literals, this is
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -116764,17 +116807,165 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
+                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                       # This includes the results of applying any conditional formatting and,
                       # if the cell contains a formula, the computed number format.
                       # If the effective format is the default format, effective format will
                       # not be written.
                       # This field is read-only.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -116783,6 +116974,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -116909,6 +117101,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -116920,9 +117115,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -117044,6 +117236,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -117055,9 +117250,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -117186,6 +117378,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -117197,9 +117392,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -117321,6 +117513,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -117332,9 +117527,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -117463,6 +117655,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -117474,9 +117669,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -117598,6 +117790,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -117609,9 +117804,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -117740,6 +117932,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -117751,9 +117946,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -117875,6 +118067,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -117886,9 +118081,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -118020,6 +118212,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -118031,12 +118226,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -118156,6 +118348,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -118167,35 +118362,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -118318,6 +118489,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -118329,161 +118503,177 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
-                  &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                       #
                       # When writing, the new format will be merged with the existing format.
+                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                      &quot;left&quot;: 42, # The left padding of the cell.
+                      &quot;top&quot;: 42, # The top padding of the cell.
+                      &quot;right&quot;: 42, # The right padding of the cell.
+                    },
+                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
                     &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                     &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                       &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user&#x27;s locale will be used if necessary for the given type.
@@ -118492,6 +118682,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                           # When writing, this field must be set.
                     },
+                    &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                     &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                       &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                         &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -118618,6 +118809,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -118629,9 +118823,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -118753,6 +118944,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -118764,9 +118958,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -118895,6 +119086,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -118906,9 +119100,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -119030,6 +119221,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -119041,9 +119235,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -119172,6 +119363,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -119183,9 +119377,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -119307,6 +119498,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -119318,9 +119512,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -119449,6 +119640,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -119460,9 +119654,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
                         &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -119584,6 +119775,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -119595,9 +119789,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                         &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                       },
@@ -119729,6 +119920,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -119740,12 +119934,9 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
                       &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -119865,6 +120056,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -119876,35 +120070,11 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     },
-                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                          # Measured in degrees. Valid values are between -90 and 90. Positive
-                          # angles are angled upwards, negative are angled downwards.
-                          #
-                          # Note: For LTR text direction positive angles are in the
-                          # counterclockwise direction, whereas for RTL they are in the clockwise
-                          # direction
-                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                          # characters is unchanged.
-                          # For example:
-                          #
-                          #     | V |
-                          #     | e |
-                          #     | r |
-                          #     | t |
-                          #     | i |
-                          #     | c |
-                          #     | a |
-                          #     | l |
-                    },
                     &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                         # If background_color is also set, this field takes precedence.
                       &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -120027,6 +120197,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -120038,163 +120211,33 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                        # When updating padding, every field must be specified.
-                      &quot;right&quot;: 42, # The right padding of the cell.
-                      &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                      &quot;left&quot;: 42, # The left padding of the cell.
-                      &quot;top&quot;: 42, # The top padding of the cell.
-                    },
-                    &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
+                    &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
                           #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          # Note: For LTR text direction positive angles are in the
+                          # counterclockwise direction, whereas for RTL they are in the clockwise
+                          # direction
+                      &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
                           #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
                     },
                   },
                   &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                        # This field is read-only.
-                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                          # (in the spreadsheet&#x27;s locale).
-                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                    },
-                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -120203,13 +120246,17 @@
                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # &quot;serial number&quot; format.
+                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                          # (in the spreadsheet&#x27;s locale).
+                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                    },
+                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                   },
                   &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                       #
                       # When writing, the new data validation rule will overwrite any prior rule.
-                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                        # If true, &quot;List&quot; conditions will show a dropdown.
-                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                     &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
@@ -120236,6 +120283,9 @@
                       ],
                       &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                     },
+                    &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                        # If true, &quot;List&quot; conditions will show a dropdown.
+                    &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                   },
                   &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                       # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -120248,7 +120298,6 @@
           &quot;rowMetadata&quot;: [ # Metadata about the requested rows in the grid, starting with the row
               # in start_row.
             { # Properties about a dimension.
-              &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                   # This field is read-only.
               &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -120280,33 +120329,200 @@
                         # Indexes are half open: the start index is inclusive
                         # and the end index is exclusive.
                         # Missing indexes indicate the range is unbounded on that side.
+                      &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       &quot;sheetId&quot;: 42, # The sheet this span is on.
                       &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                       &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                      &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                     },
                   },
                 },
               ],
+              &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
             },
           ],
           &quot;startColumn&quot;: 42, # The first column this GridData refers to, zero-based.
           &quot;startRow&quot;: 42, # The first row this GridData refers to, zero-based.
         },
       ],
+      &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
+          # by group depth.
+        { # A group over an interval of rows or columns on a sheet, which can contain or
+            # be contained within other groups. A group can be collapsed or expanded as a
+            # unit on the sheet.
+          &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+              # collapsed if an overlapping group at a shallower depth is expanded.
+              #
+              # A true value does not imply that all dimensions within the group are
+              # hidden, since a dimension&#x27;s visibility can change independently from this
+              # group property. However, when this property is updated, all dimensions
+              # within it are set to hidden if this field is true, or set to visible if
+              # this field is false.
+          &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+          &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+              # wholly contains the range of this group.
+        },
+      ],
     },
   ],
   &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the spreadsheet.
       # This field is read-only.
   &quot;properties&quot;: { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
-    &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
     &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
         # CellData.effectiveFormat will not be set if
         # the cell&#x27;s format is equal to this default format. This field is read-only.
+      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+          # When updating padding, every field must be specified.
+        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+        &quot;left&quot;: 42, # The left padding of the cell.
+        &quot;top&quot;: 42, # The top padding of the cell.
+        &quot;right&quot;: 42, # The right padding of the cell.
+      },
+      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+          # for simplicity of conversion to/from color representations in various
+          # languages over compactness; for example, the fields of this representation
+          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+          # method in iOS; and, with just a little work, it can be easily formatted into
+          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+          #
+          # Note: this proto does not carry information about the absolute color space
+          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+          # space.
+          #
+          # Example (Java):
+          #
+          #      import com.google.type.Color;
+          #
+          #      // ...
+          #      public static java.awt.Color fromProto(Color protocolor) {
+          #        float alpha = protocolor.hasAlpha()
+          #            ? protocolor.getAlpha().getValue()
+          #            : 1.0;
+          #
+          #        return new java.awt.Color(
+          #            protocolor.getRed(),
+          #            protocolor.getGreen(),
+          #            protocolor.getBlue(),
+          #            alpha);
+          #      }
+          #
+          #      public static Color toProto(java.awt.Color color) {
+          #        float red = (float) color.getRed();
+          #        float green = (float) color.getGreen();
+          #        float blue = (float) color.getBlue();
+          #        float denominator = 255.0;
+          #        Color.Builder resultBuilder =
+          #            Color
+          #                .newBuilder()
+          #                .setRed(red / denominator)
+          #                .setGreen(green / denominator)
+          #                .setBlue(blue / denominator);
+          #        int alpha = color.getAlpha();
+          #        if (alpha != 255) {
+          #          result.setAlpha(
+          #              FloatValue
+          #                  .newBuilder()
+          #                  .setValue(((float) alpha) / denominator)
+          #                  .build());
+          #        }
+          #        return resultBuilder.build();
+          #      }
+          #      // ...
+          #
+          # Example (iOS / Obj-C):
+          #
+          #      // ...
+          #      static UIColor* fromProto(Color* protocolor) {
+          #         float red = [protocolor red];
+          #         float green = [protocolor green];
+          #         float blue = [protocolor blue];
+          #         FloatValue* alpha_wrapper = [protocolor alpha];
+          #         float alpha = 1.0;
+          #         if (alpha_wrapper != nil) {
+          #           alpha = [alpha_wrapper value];
+          #         }
+          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+          #      }
+          #
+          #      static Color* toProto(UIColor* color) {
+          #          CGFloat red, green, blue, alpha;
+          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+          #            return nil;
+          #          }
+          #          Color* result = [[Color alloc] init];
+          #          [result setRed:red];
+          #          [result setGreen:green];
+          #          [result setBlue:blue];
+          #          if (alpha &lt;= 0.9999) {
+          #            [result setAlpha:floatWrapperWithValue(alpha)];
+          #          }
+          #          [result autorelease];
+          #          return result;
+          #     }
+          #     // ...
+          #
+          #  Example (JavaScript):
+          #
+          #     // ...
+          #
+          #     var protoToCssColor = function(rgb_color) {
+          #        var redFrac = rgb_color.red || 0.0;
+          #        var greenFrac = rgb_color.green || 0.0;
+          #        var blueFrac = rgb_color.blue || 0.0;
+          #        var red = Math.floor(redFrac * 255);
+          #        var green = Math.floor(greenFrac * 255);
+          #        var blue = Math.floor(blueFrac * 255);
+          #
+          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+          #           return rgbToCssColor_(red, green, blue);
+          #        }
+          #
+          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+          #     };
+          #
+          #     var rgbToCssColor_ = function(red, green, blue) {
+          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+          #       var hexString = rgbNumber.toString(16);
+          #       var missingZeros = 6 - hexString.length;
+          #       var resultBuilder = [&#x27;#&#x27;];
+          #       for (var i = 0; i &lt; missingZeros; i++) {
+          #          resultBuilder.push(&#x27;0&#x27;);
+          #       }
+          #       resultBuilder.push(hexString);
+          #       return resultBuilder.join(&#x27;&#x27;);
+          #     };
+          #
+          #     // ...
+        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+            # the final pixel color is defined by the equation:
+            #
+            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+            #
+            # This means that a value of 1.0 corresponds to a solid color, whereas
+            # a value of 0.0 corresponds to a completely transparent color. This
+            # uses a wrapper message rather than a simple float scalar so that it is
+            # possible to distinguish between a default value and the value being unset.
+            # If omitted, this color object is to be rendered as a solid color
+            # (as if the alpha value had been explicitly given with a value of 1.0).
+      },
       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
             # the user&#x27;s locale will be used if necessary for the given type.
@@ -120315,6 +120531,7 @@
         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
             # When writing, this field must be set.
       },
+      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -120441,6 +120658,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -120452,9 +120672,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -120576,6 +120793,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -120587,9 +120807,6 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
         },
@@ -120718,6 +120935,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -120729,9 +120949,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -120853,6 +121070,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -120864,9 +121084,6 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
         },
@@ -120995,6 +121212,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -121006,9 +121226,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -121130,6 +121347,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -121141,9 +121361,6 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
         },
@@ -121272,6 +121489,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -121283,9 +121503,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -121407,6 +121624,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -121418,9 +121638,6 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
         },
@@ -121552,6 +121769,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -121563,12 +121783,9 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
         },
-        &quot;bold&quot;: True or False, # True if the text is bold.
+        &quot;italic&quot;: True or False, # True if the text is italicized.
         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
             # for simplicity of conversion to/from color representations in various
             # languages over compactness; for example, the fields of this representation
@@ -121688,6 +121905,9 @@
             #     };
             #
             #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
               # the final pixel color is defined by the equation:
               #
@@ -121699,35 +121919,11 @@
               # possible to distinguish between a default value and the value being unset.
               # If omitted, this color object is to be rendered as a solid color
               # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
         },
-        &quot;italic&quot;: True or False, # True if the text is italicized.
+        &quot;bold&quot;: True or False, # True if the text is bold.
         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
       },
-      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-            # Measured in degrees. Valid values are between -90 and 90. Positive
-            # angles are angled upwards, negative are angled downwards.
-            #
-            # Note: For LTR text direction positive angles are in the
-            # counterclockwise direction, whereas for RTL they are in the clockwise
-            # direction
-        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-            # characters is unchanged.
-            # For example:
-            #
-            #     | V |
-            #     | e |
-            #     | r |
-            #     | t |
-            #     | i |
-            #     | c |
-            #     | a |
-            #     | l |
-      },
       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
           # If background_color is also set, this field takes precedence.
         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -121850,6 +122046,9 @@
             #     };
             #
             #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
               # the final pixel color is defined by the equation:
               #
@@ -121861,154 +122060,34 @@
               # possible to distinguish between a default value and the value being unset.
               # If omitted, this color object is to be rendered as a solid color
               # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
         },
       },
-      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-          # When updating padding, every field must be specified.
-        &quot;right&quot;: 42, # The right padding of the cell.
-        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-        &quot;left&quot;: 42, # The left padding of the cell.
-        &quot;top&quot;: 42, # The top padding of the cell.
-      },
-      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-          # for simplicity of conversion to/from color representations in various
-          # languages over compactness; for example, the fields of this representation
-          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-          # method in iOS; and, with just a little work, it can be easily formatted into
-          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-          #
-          # Note: this proto does not carry information about the absolute color space
-          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-          # space.
-          #
-          # Example (Java):
-          #
-          #      import com.google.type.Color;
-          #
-          #      // ...
-          #      public static java.awt.Color fromProto(Color protocolor) {
-          #        float alpha = protocolor.hasAlpha()
-          #            ? protocolor.getAlpha().getValue()
-          #            : 1.0;
-          #
-          #        return new java.awt.Color(
-          #            protocolor.getRed(),
-          #            protocolor.getGreen(),
-          #            protocolor.getBlue(),
-          #            alpha);
-          #      }
-          #
-          #      public static Color toProto(java.awt.Color color) {
-          #        float red = (float) color.getRed();
-          #        float green = (float) color.getGreen();
-          #        float blue = (float) color.getBlue();
-          #        float denominator = 255.0;
-          #        Color.Builder resultBuilder =
-          #            Color
-          #                .newBuilder()
-          #                .setRed(red / denominator)
-          #                .setGreen(green / denominator)
-          #                .setBlue(blue / denominator);
-          #        int alpha = color.getAlpha();
-          #        if (alpha != 255) {
-          #          result.setAlpha(
-          #              FloatValue
-          #                  .newBuilder()
-          #                  .setValue(((float) alpha) / denominator)
-          #                  .build());
-          #        }
-          #        return resultBuilder.build();
-          #      }
-          #      // ...
-          #
-          # Example (iOS / Obj-C):
-          #
-          #      // ...
-          #      static UIColor* fromProto(Color* protocolor) {
-          #         float red = [protocolor red];
-          #         float green = [protocolor green];
-          #         float blue = [protocolor blue];
-          #         FloatValue* alpha_wrapper = [protocolor alpha];
-          #         float alpha = 1.0;
-          #         if (alpha_wrapper != nil) {
-          #           alpha = [alpha_wrapper value];
-          #         }
-          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-          #      }
-          #
-          #      static Color* toProto(UIColor* color) {
-          #          CGFloat red, green, blue, alpha;
-          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-          #            return nil;
-          #          }
-          #          Color* result = [[Color alloc] init];
-          #          [result setRed:red];
-          #          [result setGreen:green];
-          #          [result setBlue:blue];
-          #          if (alpha &lt;= 0.9999) {
-          #            [result setAlpha:floatWrapperWithValue(alpha)];
-          #          }
-          #          [result autorelease];
-          #          return result;
-          #     }
-          #     // ...
-          #
-          #  Example (JavaScript):
-          #
-          #     // ...
-          #
-          #     var protoToCssColor = function(rgb_color) {
-          #        var redFrac = rgb_color.red || 0.0;
-          #        var greenFrac = rgb_color.green || 0.0;
-          #        var blueFrac = rgb_color.blue || 0.0;
-          #        var red = Math.floor(redFrac * 255);
-          #        var green = Math.floor(greenFrac * 255);
-          #        var blue = Math.floor(blueFrac * 255);
-          #
-          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-          #           return rgbToCssColor_(red, green, blue);
-          #        }
-          #
-          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-          #     };
-          #
-          #     var rgbToCssColor_ = function(red, green, blue) {
-          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-          #       var hexString = rgbNumber.toString(16);
-          #       var missingZeros = 6 - hexString.length;
-          #       var resultBuilder = [&#x27;#&#x27;];
-          #       for (var i = 0; i &lt; missingZeros; i++) {
-          #          resultBuilder.push(&#x27;0&#x27;);
-          #       }
-          #       resultBuilder.push(hexString);
-          #       return resultBuilder.join(&#x27;&#x27;);
-          #     };
-          #
-          #     // ...
-        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-            # the final pixel color is defined by the equation:
+      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+            # Measured in degrees. Valid values are between -90 and 90. Positive
+            # angles are angled upwards, negative are angled downwards.
             #
-            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+            # Note: For LTR text direction positive angles are in the
+            # counterclockwise direction, whereas for RTL they are in the clockwise
+            # direction
+        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+            # characters is unchanged.
+            # For example:
             #
-            # This means that a value of 1.0 corresponds to a solid color, whereas
-            # a value of 0.0 corresponds to a completely transparent color. This
-            # uses a wrapper message rather than a simple float scalar so that it is
-            # possible to distinguish between a default value and the value being unset.
-            # If omitted, this color object is to be rendered as a solid color
-            # (as if the alpha value had been explicitly given with a value of 1.0).
-        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            #     | V |
+            #     | e |
+            #     | r |
+            #     | t |
+            #     | i |
+            #     | c |
+            #     | a |
+            #     | l |
       },
     },
     &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+    &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+        # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+        # be a custom time zone such as `GMT-07:00`.
     &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
         # calculation.  Absence of this field means that circular references result
         # in calculation errors.
@@ -122018,9 +122097,6 @@
       &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
           # less than this threshold value, the calculation rounds stop.
     },
-    &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-        # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-        # be a custom time zone such as `GMT-07:00`.
     &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
       &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
       &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -122149,6 +122225,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -122160,9 +122239,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
         },
@@ -122177,84 +122253,8 @@
         # * a combination of the ISO language code and country code, such as `en_US`
         #
         # Note: when updating this field, not all locales/languages are supported.
+    &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
   },
-  &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
-    { # A named range.
-      &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-      &quot;range&quot;: { # A range on a sheet. # The range this represents.
-          # All indexes are zero-based.
-          # Indexes are half open, e.g the start index is inclusive
-          # and the end index is exclusive -- [start_index, end_index).
-          # Missing indexes indicate the range is unbounded on that side.
-          #
-          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-          #
-          #   `Sheet1!A1:A1 == sheet_id: 0,
-          #                   start_row_index: 0, end_row_index: 1,
-          #                   start_column_index: 0, end_column_index: 1`
-          #
-          #   `Sheet1!A3:B4 == sheet_id: 0,
-          #                   start_row_index: 2, end_row_index: 4,
-          #                   start_column_index: 0, end_column_index: 2`
-          #
-          #   `Sheet1!A:B == sheet_id: 0,
-          #                 start_column_index: 0, end_column_index: 2`
-          #
-          #   `Sheet1!A5:B == sheet_id: 0,
-          #                  start_row_index: 4,
-          #                  start_column_index: 0, end_column_index: 2`
-          #
-          #   `Sheet1 == sheet_id:0`
-          #
-          # The start index must always be less than or equal to the end index.
-          # If the start index equals the end index, then the range is empty.
-          # Empty ranges are typically not meaningful and are usually rendered in the
-          # UI as `#REF!`.
-        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-        &quot;sheetId&quot;: 42, # The sheet this range is on.
-        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-      },
-      &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-    },
-  ],
-  &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
-    { # Developer metadata associated with a location or object in a spreadsheet.
-        # Developer metadata may be used to associate arbitrary data with various
-        # parts of a spreadsheet and will remain associated at those locations as they
-        # move around and the spreadsheet is edited.  For example, if developer
-        # metadata is associated with row 5 and another row is then subsequently
-        # inserted above row 5, that original metadata will still be associated with
-        # the row it was first associated with (what is now row 6). If the associated
-        # object is deleted its metadata is deleted too.
-      &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-          # same key.  Developer metadata must always have a key specified.
-      &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-      &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-          # specified.
-      &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-          # specified when metadata is created, otherwise one will be randomly
-          # generated and assigned. Must be positive.
-      &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-        &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-        &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-        &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-        &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-            # a dimension. The specified DimensionRange must represent a single row
-            # or column; it cannot be unbounded or span multiple rows or columns.
-            # All indexes are zero-based.
-            # Indexes are half open: the start index is inclusive
-            # and the end index is exclusive.
-            # Missing indexes indicate the range is unbounded on that side.
-          &quot;sheetId&quot;: 42, # The sheet this span is on.
-          &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-          &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-          &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-        },
-      },
-    },
-  ],
 }
 
   x__xgafv: string, V1 error format.
@@ -122266,44 +122266,92 @@
   An object of the form:
 
     { # Resource that represents a spreadsheet.
+    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
+      { # A named range.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+        &quot;range&quot;: { # A range on a sheet. # The range this represents.
+            # All indexes are zero-based.
+            # Indexes are half open, e.g the start index is inclusive
+            # and the end index is exclusive -- [start_index, end_index).
+            # Missing indexes indicate the range is unbounded on that side.
+            #
+            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+            #
+            #   `Sheet1!A1:A1 == sheet_id: 0,
+            #                   start_row_index: 0, end_row_index: 1,
+            #                   start_column_index: 0, end_column_index: 1`
+            #
+            #   `Sheet1!A3:B4 == sheet_id: 0,
+            #                   start_row_index: 2, end_row_index: 4,
+            #                   start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A:B == sheet_id: 0,
+            #                 start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A5:B == sheet_id: 0,
+            #                  start_row_index: 4,
+            #                  start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1 == sheet_id:0`
+            #
+            # The start index must always be less than or equal to the end index.
+            # If the start index equals the end index, then the range is empty.
+            # Empty ranges are typically not meaningful and are usually rendered in the
+            # UI as `#REF!`.
+          &quot;sheetId&quot;: 42, # The sheet this range is on.
+          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+        },
+      },
+    ],
+    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
+      { # Developer metadata associated with a location or object in a spreadsheet.
+          # Developer metadata may be used to associate arbitrary data with various
+          # parts of a spreadsheet and will remain associated at those locations as they
+          # move around and the spreadsheet is edited.  For example, if developer
+          # metadata is associated with row 5 and another row is then subsequently
+          # inserted above row 5, that original metadata will still be associated with
+          # the row it was first associated with (what is now row 6). If the associated
+          # object is deleted its metadata is deleted too.
+        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+            # same key.  Developer metadata must always have a key specified.
+        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+            # specified.
+        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+            # specified when metadata is created, otherwise one will be randomly
+            # generated and assigned. Must be positive.
+        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+              # a dimension. The specified DimensionRange must represent a single row
+              # or column; it cannot be unbounded or span multiple rows or columns.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+      },
+    ],
     &quot;spreadsheetUrl&quot;: &quot;A String&quot;, # The url of the spreadsheet.
         # This field is read-only.
     &quot;sheets&quot;: [ # The sheets that are part of a spreadsheet.
       { # A sheet in a spreadsheet.
-        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
-            # by group depth.
-          { # A group over an interval of rows or columns on a sheet, which can contain or
-              # be contained within other groups. A group can be collapsed or expanded as a
-              # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
-            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                # collapsed if an overlapping group at a shallower depth is expanded.
-                #
-                # A true value does not imply that all dimensions within the group are
-                # hidden, since a dimension&#x27;s visibility can change independently from this
-                # group property. However, when this property is updated, all dimensions
-                # within it are set to hidden if this field is true, or set to visible if
-                # this field is false.
-            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-        ],
         &quot;columnGroups&quot;: [ # All column groups on this sheet, ordered by increasing range start index,
             # then by group depth.
           { # A group over an interval of rows or columns on a sheet, which can contain or
               # be contained within other groups. A group can be collapsed or expanded as a
               # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
             &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
                 # collapsed if an overlapping group at a shallower depth is expanded.
                 #
@@ -122317,17 +122365,193 @@
                 # Indexes are half open: the start index is inclusive
                 # and the end index is exclusive.
                 # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               &quot;sheetId&quot;: 42, # The sheet this span is on.
               &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
               &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
           },
         ],
         &quot;slicers&quot;: [ # The slicers on this sheet.
           { # A slicer in a sheet.
             &quot;slicerId&quot;: 42, # The ID of the slicer.
             &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                  # If not set, default to `True`.
+              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                  # If unspecified, defaults to `LEFT`
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
                 &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                     # shown. Mutually exclusive with visible_foreground_color.
@@ -122449,6 +122673,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -122460,9 +122687,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -122611,6 +122835,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -122622,9 +122849,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -122750,6 +122974,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -122761,9 +122988,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -122890,6 +123114,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -122901,9 +123128,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -123036,6 +123260,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -123047,12 +123274,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -123172,6 +123396,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -123183,11 +123410,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -123314,6 +123538,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -123325,190 +123552,16 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                  # If not set, default to `True`.
-              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                  # If unspecified, defaults to `LEFT`
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
             },
             &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
                 # existing sheet. Also, width and height of slicer can be automatically
                 # adjusted to keep it within permitted limits.
               &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                 &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                     # All indexes are zero-based.
                   &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -123518,9 +123571,6 @@
                 &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
                 &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
               },
               &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                   # is chosen for you. Used only when writing.
@@ -123557,16 +123607,17 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
             },
           },
         ],
         &quot;filterViews&quot;: [ # The filter views in this sheet.
           { # A filter view.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
             &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                 # The map&#x27;s key is the column index, and the value is the criteria for
                 # that column.
@@ -123691,6 +123742,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -123702,9 +123756,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -123853,6 +123904,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -123864,9 +123918,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -123992,6 +124043,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -124003,9 +124057,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -124132,6 +124183,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -124143,9 +124197,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -124280,6 +124331,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -124291,9 +124345,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -124419,6 +124470,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -124430,9 +124484,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -124561,6 +124612,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -124572,9 +124626,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -124697,6 +124748,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -124708,9 +124762,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -124747,17 +124798,37 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
           },
         ],
         &quot;charts&quot;: [ # The specifications of every chart on this sheet.
           { # A chart embedded in a sheet.
+            &quot;chartId&quot;: 42, # The ID of the chart.
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
             &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
               &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                   # chart&lt;/a&gt;.
@@ -124817,11 +124888,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -124878,11 +124949,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -124940,11 +125011,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -125001,11 +125072,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -125066,11 +125137,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -125212,6 +125283,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -125223,9 +125297,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -125277,11 +125348,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -125406,6 +125477,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -125417,9 +125491,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 ],
@@ -125436,142 +125507,254 @@
                     # be added to the first or last buckets instead of their own buckets.
                     # Must be between 0.0 and 0.5.
               },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual minimum value from color_data, or the minimum value from
+                    # size_data if color_data is not specified.
+                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual maximum value from color_data, or the maximum value from
+                    # size_data if color_data is not specified.
+                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                    # This field is optional. If not specified, size_data is used to
+                    # determine background colors. If specified, the data is expected to be
+                    # numeric. color_scale will determine how the values in this data map to
+                    # data cell background colors.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                    # expected to be numeric. The cells corresponding to non-numeric or missing
+                    # data will not be rendered. If color_data is not specified, this data
+                    # is used to determine data cell background colors as well.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
                 &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                     # on the treemap chart. These levels are not interactive and are shown
                     # without their labels. Defaults to 0 if not specified.
@@ -125705,6 +125888,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -125716,12 +125902,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -125841,6 +126024,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -125852,11 +126038,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -125876,6 +126059,146 @@
                     # Cells with missing or non-numeric color values will have
                     # noDataColor as their background
                     # color.
+                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # If max_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
                   &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                       # them. Defaults to #000000 if not specified.
                       # If no_data_color is also set, this field takes precedence.
@@ -125999,6 +126322,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -126010,9 +126336,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -126136,6 +126459,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -126147,9 +126473,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                       # minValue. Defaults to #dc3912 if not
@@ -126275,6 +126598,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -126286,9 +126612,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -126413,6 +126736,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -126424,144 +126750,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                       # to maxValue. Defaults to #109618 if not
@@ -126684,6 +126872,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -126695,9 +126886,141 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
                     &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                     &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
                   },
                   &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                       # minValue and
@@ -126824,6 +127147,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -126835,149 +127161,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # If max_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 },
@@ -127100,6 +127283,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -127111,9 +127297,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                     # If header_color is also set, this field takes precedence.
@@ -127237,6 +127420,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -127248,334 +127434,469 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual minimum value from color_data, or the minimum value from
-                    # size_data if color_data is not specified.
-                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual maximum value from color_data, or the maximum value from
-                    # size_data if color_data is not specified.
-                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                    # This field is optional. If not specified, size_data is used to
-                    # determine background colors. If specified, the data is expected to be
-                    # numeric. color_scale will determine how the values in this data map to
-                    # data cell background colors.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                    # expected to be numeric. The cells corresponding to non-numeric or missing
-                    # data will not be rendered. If color_data is not specified, this data
-                    # is used to determine data cell background colors as well.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
               },
               &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                   # See BasicChartType for the list of all
                   # charts this supports.
                   # of charts this supports.
+                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                    # Applies to Line charts.
+                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                    # chart area.
+                &quot;axis&quot;: [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                        # values in an axis).
+                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a maximum value that looks good for the data.
+                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a minimum value that looks good for the data.
+                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                    },
+                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn&#x27;t specified.
+                      &quot;fontSize&quot;: 42, # The size of the font.
+                      &quot;underline&quot;: True or False, # True if the text is underlined.
+                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                          # If foreground_color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                    },
+                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                  },
+                ],
+                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                    # segments of lines in a line chart will be missing).  To eliminate these
+                    # gaps set this to true.
+                    # Applies to Line, Area, and Combo charts.
                 &quot;series&quot;: [ # The data this chart is visualizing.
                   { # A single series of data in a chart.
                       # For example, if charting stock prices over time, multiple series may exist,
                       # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                        # chartType is AREA,
-                        # LINE, or SCATTER.
-                        # COMBO charts are also supported if the
-                        # series chart type is
-                        # AREA or LINE.
-                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                      &quot;width&quot;: 42, # The thickness of the line, in px.
-                    },
                     &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                         # this series.  If empty, a default color is used.
                         # If color is also set, this field takes precedence.
@@ -127699,6 +128020,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -127710,9 +128034,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -127848,6 +128169,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -127859,9 +128183,73 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    },
+                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                        # chartType is AREA,
+                        # LINE, or SCATTER.
+                        # COMBO charts are also supported if the
+                        # series chart type is
+                        # AREA or LINE.
+                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                      &quot;width&quot;: 42, # The thickness of the line, in px.
                     },
                   },
                 ],
@@ -127924,11 +128312,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -127936,473 +128324,10 @@
                     &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                   },
                 ],
-                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                    # Applies to Line charts.
-                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                    # If not set, Google Sheets will guess how many rows are headers based
-                    # on the data.
-                    #
-                    # (Note that BasicChartAxis.title may override the axis title
-                    #  inferred from the header values.)
-                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                    # chart area.
-                &quot;axis&quot;: [ # The axis on the chart.
-                  { # An axis of the chart.
-                      # A chart may not have more than one axis per
-                      # axis position.
-                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
-                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                        # Only valid if the axis is not associated with the domain.
-                        # Absent values indicate that the field isn&#x27;t specified.
-                      &quot;fontSize&quot;: 42, # The size of the font.
-                      &quot;underline&quot;: True or False, # True if the text is underlined.
-                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                          # If foreground_color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
-                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
-                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                    },
-                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                        # values in an axis).
-                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a minimum value that looks good for the data.
-                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a maximum value that looks good for the data.
-                    },
-                  },
-                ],
-                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                    # segments of lines in a line chart will be missing).  To eliminate these
-                    # gaps set this to true.
-                    # Applies to Line, Area, and Combo charts.
               },
-              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
               &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                  &quot;width&quot;: 42, # The thickness of the line, in px.
-                },
                 &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                   { # A single series of data for a waterfall chart.
-                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                        # subtotals are defined is not significant. Only one subtotal may be
-                        # defined for each data point.
-                      { # A custom subtotal column for a waterfall chart series.
-                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                            # data_is_subtotal is true, the data point at this index is the
-                            # subtotal. Otherwise, the subtotal appears after the data point with
-                            # this index. A series can have multiple subtotals at arbitrary indices,
-                            # but subtotals do not affect the indices of the data points. For
-                            # example, if a series has three data points, their indices will always
-                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                            # what data points they are associated with.
-                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                            # the subtotal will be computed and appear after the data point.
-                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                      },
-                    ],
-                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                        # a subtotal column will appear at the end of each series. Setting this
-                        # field to true will hide that subtotal column for this series.
-                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
                     &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                       &quot;colorStyle&quot;: { # A color value. # The color of the column.
                           # If color is also set, this field takes precedence.
@@ -128526,6 +128451,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -128537,9 +128465,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -128661,6 +128586,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -128672,9 +128600,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -128801,6 +128726,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -128812,9 +128740,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -128936,6 +128861,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -128947,9 +128875,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -129076,6 +129001,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -129087,9 +129015,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -129211,6 +129136,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -129222,15 +129150,895 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
+                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                        # subtotals are defined is not significant. Only one subtotal may be
+                        # defined for each data point.
+                      { # A custom subtotal column for a waterfall chart series.
+                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                            # data_is_subtotal is true, the data point at this index is the
+                            # subtotal. Otherwise, the subtotal appears after the data point with
+                            # this index. A series can have multiple subtotals at arbitrary indices,
+                            # but subtotals do not affect the indices of the data points. For
+                            # example, if a series has three data points, their indices will always
+                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                            # what data points they are associated with.
+                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                            # the subtotal will be computed and appear after the data point.
+                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                      },
+                    ],
+                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                        # a subtotal column will appear at the end of each series. Setting this
+                        # field to true will hide that subtotal column for this series.
                   },
                 ],
                 &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                  &quot;width&quot;: 42, # The thickness of the line, in px.
+                },
+              },
+              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                  # Org charts require a unique set of labels in labels and may
+                  # optionally include parent_labels and tooltips.
+                  # parent_labels contain, for each node, the label identifying the parent
+                  # node.  tooltips contain, for each node, an optional tooltip.
+                  #
+                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                    # If node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                    # results in no tooltip being displayed for the node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                    # must be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                    # A blank value indicates that the node has no parent and is a top-level
+                    # node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                    # If selected_node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
               },
               &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                   # Strikethrough and underline are not supported.
@@ -129359,6 +130167,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -129370,12 +130181,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -129495,6 +130303,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -129506,751 +130317,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                  # Org charts require a unique set of labels in labels and may
-                  # optionally include parent_labels and tooltips.
-                  # parent_labels contain, for each node, the label identifying the parent
-                  # node.  tooltips contain, for each node, an optional tooltip.
-                  #
-                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                    # A blank value indicates that the node has no parent and is a top-level
-                    # node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                    # If selected_node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                    # If node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                    # results in no tooltip being displayed for the node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                    # must be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
               &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
                 &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
                 &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -130302,11 +130373,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -130362,22 +130433,22 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
               },
-              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                  # for accessibility.
               &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                   # This field is optional.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
+              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                  # for accessibility.
               &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                   # axis labels, legend).  If a font is specified for a specific part of the
                   # chart it will override this font name.
@@ -130508,6 +130579,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -130519,12 +130593,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -130644,6 +130715,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -130655,11 +130729,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -130676,10 +130747,18 @@
                   # can specify a single data value, or aggregate over a range of data.
                   # Percentage or absolute difference from a baseline value can be highlighted,
                   # like changes over time.
-                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                    # This field is optional.
+                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                    # chart. This field is used only when number_format_source is set to
+                    # CUSTOM. This field is optional.
+                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                      # This field is optional.
+                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                      # This field is optional.
+                },
                 &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                     # This field is optional.
+                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                    # This field is optional.
                 &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                     # 10 can be used to divide all values in the chart by 10.
                     # This field is optional.
@@ -130732,11 +130811,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -130791,17 +130870,430 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
                 &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                     # This field is needed only if baseline_value_data is specified.
+                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # If negative_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
                   &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                       # Absent values indicate that the field isn&#x27;t specified.
@@ -130929,6 +131421,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -130940,12 +131435,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -131065,6 +131557,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -131076,11 +131571,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -131209,6 +131701,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -131220,424 +131715,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # If negative_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
                 },
                 &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -131766,6 +131845,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -131777,12 +131859,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -131902,6 +131981,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -131913,11 +131995,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -131926,14 +132005,6 @@
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                   },
                 },
-                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                    # chart. This field is used only when number_format_source is set to
-                    # CUSTOM. This field is optional.
-                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                      # This field is optional.
-                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                      # This field is optional.
-                },
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                   # Not applicable to Org charts.
@@ -132058,6 +132129,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -132069,77 +132143,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
               &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
               &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                    # 0 is fully transparent and 1 is fully opaque.
-                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                    # the bubbles at different sizes relative to each other.
-                    # If specified, group_ids must also be specified.  This field is
-                    # optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
                 &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                     # If specific, the field must be a positive value.
                 &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -132261,6 +132269,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -132272,9 +132283,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                     # If specified, the field must be a positive value.
@@ -132400,6 +132408,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -132411,9 +132422,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -132468,11 +132476,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -132527,11 +132535,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -132585,11 +132593,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -132645,11 +132653,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -132781,6 +132789,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -132792,12 +132803,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -132917,6 +132925,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -132928,41 +132939,84 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-              },
-            },
-            &quot;chartId&quot;: 42, # The ID of the chart.
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                    # the bubbles at different sizes relative to each other.
+                    # If specified, group_ids must also be specified.  This field is
+                    # optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
                 },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                    # 0 is fully transparent and 1 is fully opaque.
               },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
             },
           },
         ],
         &quot;protectedRanges&quot;: [ # The protected ranges in this sheet.
           { # A protected range.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
             &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
                 # Unprotected ranges are only supported on protected sheets.
               { # A range on a sheet.
@@ -132994,11 +133048,11 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -133041,21 +133095,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
             &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
                 # This field is only visible to users with edit access to the protected
                 # range and the document.
@@ -133069,10 +133114,15 @@
                 &quot;A String&quot;,
               ],
             },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
                 #
-                # When writing, only one of range or named_range_id
-                # may be set.
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
           },
         ],
         &quot;basicFilter&quot;: { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -133200,6 +133250,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -133211,9 +133264,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -133362,6 +133412,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -133373,9 +133426,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -133501,6 +133551,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -133512,9 +133565,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -133641,6 +133691,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -133652,9 +133705,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -133691,11 +133741,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -133820,6 +133870,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -133831,9 +133884,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                   # to the top. Mutually exclusive with foreground_color, and must be an
@@ -133959,6 +134009,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -133970,9 +134023,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -134101,6 +134151,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -134112,9 +134165,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -134237,6 +134287,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -134248,9 +134301,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           ],
@@ -134285,1134 +134335,15 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         ],
         &quot;bandedRanges&quot;: [ # The banded (alternating colors) ranges on this sheet.
           { # A banded (alternating colors) range in a sheet.
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -135429,6 +134360,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -135551,6 +135166,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -135562,284 +135180,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -135966,6 +135308,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -135977,12 +135322,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -136101,6 +135448,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -136112,425 +135462,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -136562,11 +135493,1130 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
         ],
@@ -136586,16 +136636,14 @@
               # (If the sheet is an object sheet, containing a chart or image, then
               # this field will be absent.)
               # When writing it is an error to set any grid properties on non-grid sheets.
+            &quot;rowCount&quot;: 42, # The number of rows in the grid.
+            &quot;columnCount&quot;: 42, # The number of columns in the grid.
+            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
             &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
             &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
             &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
             &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-            &quot;rowCount&quot;: 42, # The number of rows in the grid.
-            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-            &quot;columnCount&quot;: 42, # The number of columns in the grid.
           },
-          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-              # This field cannot be changed once set.
           &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -136715,6 +136763,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -136726,10 +136777,9 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
+          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+              # This field cannot be changed once set.
           &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
           &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
               # If tab_color is also set, this field takes precedence.
@@ -136853,6 +136903,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -136864,9 +136917,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -136906,50 +136956,164 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
               &quot;format&quot;: { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
                   # bold, italic,
                   # strikethrough,
                   # foreground color &amp;
                   # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                 &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                   &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user&#x27;s locale will be used if necessary for the given type.
@@ -136958,6 +137122,7 @@
                   &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                       # When writing, this field must be set.
                 },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                   &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                     &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -137084,6 +137249,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -137095,9 +137263,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -137219,6 +137384,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -137230,9 +137398,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -137361,6 +137526,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -137372,9 +137540,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -137496,6 +137661,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -137507,9 +137675,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -137638,6 +137803,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -137649,9 +137817,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -137773,6 +137938,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -137784,9 +137952,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -137915,6 +138080,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -137926,9 +138094,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -138050,6 +138215,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -138061,9 +138229,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -138195,6 +138360,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -138206,12 +138374,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -138331,6 +138496,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -138342,35 +138510,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                     # If background_color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -138493,6 +138637,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -138504,153 +138651,56 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
                       #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
                       #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
                 },
               },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
             },
             &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
                 # the interpolation points listed. The format of a cell will vary
@@ -138659,9 +138709,6 @@
               &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -138784,6 +138831,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -138795,9 +138845,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -138919,6 +138966,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -138930,18 +138980,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -139064,6 +139111,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -139075,9 +139125,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -139199,6 +139246,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -139210,18 +139260,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -139344,6 +139391,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -139355,9 +139405,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -139479,6 +139526,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -139490,11 +139540,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
             },
           },
@@ -139512,7 +139562,6 @@
             &quot;columnMetadata&quot;: [ # Metadata about the requested columns in the grid, starting with the column
                 # in start_column.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -139544,14 +139593,15 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;rowData&quot;: [ # The data in the grid, one entry per row,
@@ -139561,47 +139611,16 @@
               { # Data about each cell in a row.
                 &quot;values&quot;: [ # The values in the row, one per column.
                   { # Data about a specific cell.
+                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                        # This is the value as it&#x27;s shown to the user.
+                        # This field is read-only.
                     &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                         # is computed dynamically based on its data, grouping, filters, values,
                         # etc. Only the top-left cell of the pivot table contains the pivot table
                         # definition. The other cells will contain the calculated values of the
                         # results of the pivot in their effective_value fields.
-                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
                         { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
                           &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                               # This is only valid for row groupings and is ignored by columns.
                               #
@@ -139624,13 +139643,6 @@
                               &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -139639,6 +139651,13 @@
                                 &quot;numberValue&quot;: 3.14, # Represents a double value.
                                     # Note: Dates, Times and DateTimes are represented as doubles in
                                     # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               },
                             },
                           ],
@@ -139754,13 +139773,6 @@
                                       # group within a given ManualRule. Items that do not appear in any
                                       # group will appear on their own.
                                     { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                           # Leading single quotes are not included. For example, if the user typed
                                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -139769,17 +139781,17 @@
                                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                                           # Note: Dates, Times and DateTimes are represented as doubles in
                                           # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     },
                                   ],
                                   &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                       # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -139788,6 +139800,13 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 },
                               ],
@@ -139811,6 +139830,303 @@
                               #     +--------------+---------+-------+
                               #     | Grand Total  |    1110 |   636 |
                               #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
+                        },
+                      ],
+                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                          # or vertically (as rows).
+                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                          #
+                          # The filters are applied before aggregating data into the pivot table.
+                          # The map&#x27;s key is the column offset of the source range that you want to
+                          # filter, and the value is the criteria for that column.
+                          #
+                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                          # for column `C`, whereas the key `1` is for column `D`.
+                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                            &quot;A String&quot;,
+                          ],
+                        },
+                      },
+                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                        { # A single grouping (either row or column) in a pivot table.
+                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                              # This is only valid for row groupings and is ignored by columns.
+                              #
+                              # By default, we minimize repitition of headings by not showing higher
+                              # level headings where they are the same. For example, even though the
+                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                              # it is redundant with previous rows. Setting repeat_headings to true
+                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                              #
+                              #     +--------------+
+                              #     | Q1     | Jan |
+                              #     |        | Feb |
+                              #     |        | Mar |
+                              #     +--------+-----+
+                              #     | Q1 Total     |
+                              #     +--------------+
+                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                            { # Metadata about a value in a pivot grouping.
+                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                  # (Note that formulaValue is not valid,
+                                  #  because the values will be calculated.)
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            },
+                          ],
+                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                              #
+                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                              # means this group refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
+                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                              # in the source data column rather than breaking out each individual value.
+                              # Only one PivotGroup with a group rule may be added for each column in
+                              # the source data, though on any given column you may add both a
+                              # PivotGroup that has a rule and a PivotGroup that does not.
+                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                                # buckets of a constant size. All values from HistogramRule.start to
+                                # HistogramRule.end are placed into groups of size
+                                # HistogramRule.interval. In addition, all values below
+                                # HistogramRule.start are placed in one group, and all values above
+                                # HistogramRule.end are placed in another. Only
+                                # HistogramRule.interval is required, though if HistogramRule.start
+                                # and HistogramRule.end are both provided, HistogramRule.start must
+                                # be less than HistogramRule.end. For example, a pivot table showing
+                                # average purchase amount by age that has 50+ rows:
+                                #
+                                #     +-----+-------------------+
+                                #     | Age | AVERAGE of Amount |
+                                #     +-----+-------------------+
+                                #     | 16  |            $27.13 |
+                                #     | 17  |             $5.24 |
+                                #     | 18  |            $20.15 |
+                                #     ...
+                                #     +-----+-------------------+
+                                # could be turned into a pivot table that looks like the one below by
+                                # applying a histogram group rule with a HistogramRule.start of 25,
+                                # an HistogramRule.interval of 20, and an HistogramRule.end
+                                # of 65.
+                                #
+                                #     +-------------+-------------------+
+                                #     | Grouped Age | AVERAGE of Amount |
+                                #     +-------------+-------------------+
+                                #     | &lt; 25        |            $19.34 |
+                                #     | 25-45       |            $31.43 |
+                                #     | 45-65       |            $35.87 |
+                                #     | &gt; 65        |            $27.55 |
+                                #     +-------------+-------------------+
+                                #     | Grand Total |            $29.12 |
+                                #     +-------------+-------------------+
+                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                  # of constant size. Values below start are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                  # of constant size. Values above end are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                            },
+                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                                # buckets based on selected parts of their date or time values. For example,
+                                # consider a pivot table showing sales transactions by date:
+                                #
+                                #     +----------+--------------+
+                                #     | Date     | SUM of Sales |
+                                #     +----------+--------------+
+                                #     | 1/1/2017 |      $621.14 |
+                                #     | 2/3/2017 |      $708.84 |
+                                #     | 5/8/2017 |      $326.84 |
+                                #     ...
+                                #     +----------+--------------+
+                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                                # results in the following pivot table.
+                                #
+                                #     +--------------+--------------+
+                                #     | Grouped Date | SUM of Sales |
+                                #     +--------------+--------------+
+                                #     | 2017-Jan     |   $53,731.78 |
+                                #     | 2017-Feb     |   $83,475.32 |
+                                #     | 2017-Mar     |   $94,385.05 |
+                                #     ...
+                                #     +--------------+--------------+
+                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                            },
+                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                                # buckets with names of your choosing. For example, a pivot table that
+                                # aggregates population by state:
+                                #
+                                #     +-------+-------------------+
+                                #     | State | SUM of Population |
+                                #     +-------+-------------------+
+                                #     | AK    |               0.7 |
+                                #     | AL    |               4.8 |
+                                #     | AR    |               2.9 |
+                                #     ...
+                                #     +-------+-------------------+
+                                # could be turned into a pivot table that aggregates population by time zone
+                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                                # Note that a similar effect could be achieved by adding a time zone column
+                                # to the source data and adjusting the pivot table.
+                                #
+                                #     +-----------+-------------------+
+                                #     | Time Zone | SUM of Population |
+                                #     +-----------+-------------------+
+                                #     | Central   |             106.3 |
+                                #     | Eastern   |             151.9 |
+                                #     | Mountain  |              17.4 |
+                                #     ...
+                                #     +-----------+-------------------+
+                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                  # that map to each group name.
+                                { # A group name and a list of items from the source data that should be placed
+                                    # in the group with this name.
+                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                      # item may be a string, number, or boolean. Items may appear in at most one
+                                      # group within a given ManualRule. Items that do not appear in any
+                                      # group will appear on their own.
+                                    { # The kinds of value that a cell in a spreadsheet can have.
+                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                          # Leading single quotes are not included. For example, if the user typed
+                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                          # `&quot;123&quot;`.
+                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                          # Note: Dates, Times and DateTimes are represented as doubles in
+                                          # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                    },
+                                  ],
+                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                      # ManualRule must have a unique group name.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                },
+                              ],
+                            },
+                          },
+                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                              # example, in the following pivot table, the row label is `Region` (which
+                              # could be renamed to `State`) and the column label is `Product` (which
+                              # could be renamed `Item`). Pivot tables created before December 2017 do
+                              # not have header labels. If you&#x27;d like to add header labels to an existing
+                              # pivot table, please delete the existing pivot table and then create a new
+                              # pivot table with same parameters.
+                              #
+                              #     +--------------+---------+-------+
+                              #     | SUM of Units | Product |       |
+                              #     | Region       | Pen     | Paper |
+                              #     +--------------+---------+-------+
+                              #     | New York     |     345 |    98 |
+                              #     | Oregon       |     234 |   123 |
+                              #     | Tennessee    |     531 |   415 |
+                              #     +--------------+---------+-------+
+                              #     | Grand Total  |    1110 |   636 |
+                              #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
                         },
                       ],
                       &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -139842,20 +140158,14 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                       &quot;values&quot;: [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
-                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                              # the result of a calculation with another pivot value. For example, if
-                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                              # pivot values are displayed as the percentage of the grand total. In
-                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                              # pivot table.
                           &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                               #
                               # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -139870,275 +140180,15 @@
                               # If sourceColumnOffset is set, then `CUSTOM`
                               # is not supported.
                           &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                              # the result of a calculation with another pivot value. For example, if
+                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                              # pivot values are displayed as the percentage of the grand total. In
+                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                              # pivot table.
                         },
                       ],
-                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                        { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
-                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                              # This is only valid for row groupings and is ignored by columns.
-                              #
-                              # By default, we minimize repitition of headings by not showing higher
-                              # level headings where they are the same. For example, even though the
-                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                              # it is redundant with previous rows. Setting repeat_headings to true
-                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                              #
-                              #     +--------------+
-                              #     | Q1     | Jan |
-                              #     |        | Feb |
-                              #     |        | Mar |
-                              #     +--------+-----+
-                              #     | Q1 Total     |
-                              #     +--------------+
-                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                            { # Metadata about a value in a pivot grouping.
-                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                  # (Note that formulaValue is not valid,
-                                  #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            },
-                          ],
-                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                              #
-                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                              # means this group refers to column `C`, whereas the offset `1` would
-                              # refer to column `D`.
-                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                              # in the source data column rather than breaking out each individual value.
-                              # Only one PivotGroup with a group rule may be added for each column in
-                              # the source data, though on any given column you may add both a
-                              # PivotGroup that has a rule and a PivotGroup that does not.
-                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                                # buckets of a constant size. All values from HistogramRule.start to
-                                # HistogramRule.end are placed into groups of size
-                                # HistogramRule.interval. In addition, all values below
-                                # HistogramRule.start are placed in one group, and all values above
-                                # HistogramRule.end are placed in another. Only
-                                # HistogramRule.interval is required, though if HistogramRule.start
-                                # and HistogramRule.end are both provided, HistogramRule.start must
-                                # be less than HistogramRule.end. For example, a pivot table showing
-                                # average purchase amount by age that has 50+ rows:
-                                #
-                                #     +-----+-------------------+
-                                #     | Age | AVERAGE of Amount |
-                                #     +-----+-------------------+
-                                #     | 16  |            $27.13 |
-                                #     | 17  |             $5.24 |
-                                #     | 18  |            $20.15 |
-                                #     ...
-                                #     +-----+-------------------+
-                                # could be turned into a pivot table that looks like the one below by
-                                # applying a histogram group rule with a HistogramRule.start of 25,
-                                # an HistogramRule.interval of 20, and an HistogramRule.end
-                                # of 65.
-                                #
-                                #     +-------------+-------------------+
-                                #     | Grouped Age | AVERAGE of Amount |
-                                #     +-------------+-------------------+
-                                #     | &lt; 25        |            $19.34 |
-                                #     | 25-45       |            $31.43 |
-                                #     | 45-65       |            $35.87 |
-                                #     | &gt; 65        |            $27.55 |
-                                #     +-------------+-------------------+
-                                #     | Grand Total |            $29.12 |
-                                #     +-------------+-------------------+
-                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                  # of constant size. Values below start are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                  # of constant size. Values above end are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                            },
-                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                                # buckets based on selected parts of their date or time values. For example,
-                                # consider a pivot table showing sales transactions by date:
-                                #
-                                #     +----------+--------------+
-                                #     | Date     | SUM of Sales |
-                                #     +----------+--------------+
-                                #     | 1/1/2017 |      $621.14 |
-                                #     | 2/3/2017 |      $708.84 |
-                                #     | 5/8/2017 |      $326.84 |
-                                #     ...
-                                #     +----------+--------------+
-                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                                # results in the following pivot table.
-                                #
-                                #     +--------------+--------------+
-                                #     | Grouped Date | SUM of Sales |
-                                #     +--------------+--------------+
-                                #     | 2017-Jan     |   $53,731.78 |
-                                #     | 2017-Feb     |   $83,475.32 |
-                                #     | 2017-Mar     |   $94,385.05 |
-                                #     ...
-                                #     +--------------+--------------+
-                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                            },
-                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                                # buckets with names of your choosing. For example, a pivot table that
-                                # aggregates population by state:
-                                #
-                                #     +-------+-------------------+
-                                #     | State | SUM of Population |
-                                #     +-------+-------------------+
-                                #     | AK    |               0.7 |
-                                #     | AL    |               4.8 |
-                                #     | AR    |               2.9 |
-                                #     ...
-                                #     +-------+-------------------+
-                                # could be turned into a pivot table that aggregates population by time zone
-                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                                # Note that a similar effect could be achieved by adding a time zone column
-                                # to the source data and adjusting the pivot table.
-                                #
-                                #     +-----------+-------------------+
-                                #     | Time Zone | SUM of Population |
-                                #     +-----------+-------------------+
-                                #     | Central   |             106.3 |
-                                #     | Eastern   |             151.9 |
-                                #     | Mountain  |              17.4 |
-                                #     ...
-                                #     +-----------+-------------------+
-                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                  # that map to each group name.
-                                { # A group name and a list of items from the source data that should be placed
-                                    # in the group with this name.
-                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                      # item may be a string, number, or boolean. Items may appear in at most one
-                                      # group within a given ManualRule. Items that do not appear in any
-                                      # group will appear on their own.
-                                    { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                          # Leading single quotes are not included. For example, if the user typed
-                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                          # `&quot;123&quot;`.
-                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                          # Note: Dates, Times and DateTimes are represented as doubles in
-                                          # &quot;serial number&quot; format.
-                                    },
-                                  ],
-                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                      # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                },
-                              ],
-                            },
-                          },
-                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                              # example, in the following pivot table, the row label is `Region` (which
-                              # could be renamed to `State`) and the column label is `Product` (which
-                              # could be renamed `Item`). Pivot tables created before December 2017 do
-                              # not have header labels. If you&#x27;d like to add header labels to an existing
-                              # pivot table, please delete the existing pivot table and then create a new
-                              # pivot table with same parameters.
-                              #
-                              #     +--------------+---------+-------+
-                              #     | SUM of Units | Product |       |
-                              #     | Region       | Pen     | Paper |
-                              #     +--------------+---------+-------+
-                              #     | New York     |     345 |    98 |
-                              #     | Oregon       |     234 |   123 |
-                              #     | Tennessee    |     531 |   415 |
-                              #     +--------------+---------+-------+
-                              #     | Grand Total  |    1110 |   636 |
-                              #     +--------------+---------+-------+
-                        },
-                      ],
-                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                          # or vertically (as rows).
-                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                          #
-                          # The filters are applied before aggregating data into the pivot table.
-                          # The map&#x27;s key is the column offset of the source range that you want to
-                          # filter, and the value is the criteria for that column.
-                          #
-                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                          # for column `C`, whereas the key `1` is for column `D`.
-                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                            &quot;A String&quot;,
-                          ],
-                        },
-                      },
                     },
-                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                        # This is the value as it&#x27;s shown to the user.
-                        # This field is read-only.
                     &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                         # on user entered strings, not formulas, bools, or numbers.
                         # Runs start at specific indexes in the text and continue until the next
@@ -140277,6 +140327,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -140288,12 +140341,9 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
-                          &quot;bold&quot;: True or False, # True if the text is bold.
+                          &quot;italic&quot;: True or False, # True if the text is italicized.
                           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -140413,6 +140463,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -140424,11 +140477,8 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
-                          &quot;italic&quot;: True or False, # True if the text is italicized.
+                          &quot;bold&quot;: True or False, # True if the text is bold.
                           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         },
@@ -140439,13 +140489,6 @@
                         # the calculated value.  For cells with literals, this is
                         # the same as the user_entered_value.
                         # This field is read-only.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -140454,17 +140497,165 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
+                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                         # This includes the results of applying any conditional formatting and,
                         # if the cell contains a formula, the computed number format.
                         # If the effective format is the default format, effective format will
                         # not be written.
                         # This field is read-only.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -140473,6 +140664,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -140599,6 +140791,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -140610,9 +140805,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -140734,6 +140926,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -140745,9 +140940,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -140876,6 +141068,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -140887,9 +141082,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -141011,6 +141203,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -141022,9 +141217,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -141153,6 +141345,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -141164,9 +141359,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -141288,6 +141480,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -141299,9 +141494,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -141430,6 +141622,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -141441,9 +141636,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -141565,6 +141757,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -141576,9 +141771,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -141710,6 +141902,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -141721,12 +141916,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -141846,6 +142038,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -141857,35 +142052,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -142008,6 +142179,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -142019,161 +142193,177 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
-                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                         #
                         # When writing, the new format will be merged with the existing format.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -142182,6 +142372,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -142308,6 +142499,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -142319,9 +142513,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -142443,6 +142634,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -142454,9 +142648,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -142585,6 +142776,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -142596,9 +142790,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -142720,6 +142911,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -142731,9 +142925,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -142862,6 +143053,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -142873,9 +143067,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -142997,6 +143188,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -143008,9 +143202,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -143139,6 +143330,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -143150,9 +143344,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -143274,6 +143465,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -143285,9 +143479,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -143419,6 +143610,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -143430,12 +143624,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -143555,6 +143746,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -143566,35 +143760,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -143717,6 +143887,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -143728,163 +143901,33 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
                     &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # serial number format.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -143893,13 +143936,17 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
                     &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                         #
                         # When writing, the new data validation rule will overwrite any prior rule.
-                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                          # If true, &quot;List&quot; conditions will show a dropdown.
-                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                       &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                       &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                           # BooleanConditions are used by conditional formatting,
@@ -143926,6 +143973,9 @@
                         ],
                         &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                       },
+                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                          # If true, &quot;List&quot; conditions will show a dropdown.
+                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     },
                     &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                         # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -143938,7 +143988,6 @@
             &quot;rowMetadata&quot;: [ # Metadata about the requested rows in the grid, starting with the row
                 # in start_row.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -143970,33 +144019,200 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;startColumn&quot;: 42, # The first column this GridData refers to, zero-based.
             &quot;startRow&quot;: 42, # The first row this GridData refers to, zero-based.
           },
         ],
+        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
+            # by group depth.
+          { # A group over an interval of rows or columns on a sheet, which can contain or
+              # be contained within other groups. A group can be collapsed or expanded as a
+              # unit on the sheet.
+            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                # collapsed if an overlapping group at a shallower depth is expanded.
+                #
+                # A true value does not imply that all dimensions within the group are
+                # hidden, since a dimension&#x27;s visibility can change independently from this
+                # group property. However, when this property is updated, all dimensions
+                # within it are set to hidden if this field is true, or set to visible if
+                # this field is false.
+            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
+          },
+        ],
       },
     ],
     &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the spreadsheet.
         # This field is read-only.
     &quot;properties&quot;: { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
-      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
       &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
           # CellData.effectiveFormat will not be set if
           # the cell&#x27;s format is equal to this default format. This field is read-only.
+        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+            # When updating padding, every field must be specified.
+          &quot;bottom&quot;: 42, # The bottom padding of the cell.
+          &quot;left&quot;: 42, # The left padding of the cell.
+          &quot;top&quot;: 42, # The top padding of the cell.
+          &quot;right&quot;: 42, # The right padding of the cell.
+        },
+        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+            # for simplicity of conversion to/from color representations in various
+            # languages over compactness; for example, the fields of this representation
+            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+            # method in iOS; and, with just a little work, it can be easily formatted into
+            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+            #
+            # Note: this proto does not carry information about the absolute color space
+            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+            # space.
+            #
+            # Example (Java):
+            #
+            #      import com.google.type.Color;
+            #
+            #      // ...
+            #      public static java.awt.Color fromProto(Color protocolor) {
+            #        float alpha = protocolor.hasAlpha()
+            #            ? protocolor.getAlpha().getValue()
+            #            : 1.0;
+            #
+            #        return new java.awt.Color(
+            #            protocolor.getRed(),
+            #            protocolor.getGreen(),
+            #            protocolor.getBlue(),
+            #            alpha);
+            #      }
+            #
+            #      public static Color toProto(java.awt.Color color) {
+            #        float red = (float) color.getRed();
+            #        float green = (float) color.getGreen();
+            #        float blue = (float) color.getBlue();
+            #        float denominator = 255.0;
+            #        Color.Builder resultBuilder =
+            #            Color
+            #                .newBuilder()
+            #                .setRed(red / denominator)
+            #                .setGreen(green / denominator)
+            #                .setBlue(blue / denominator);
+            #        int alpha = color.getAlpha();
+            #        if (alpha != 255) {
+            #          result.setAlpha(
+            #              FloatValue
+            #                  .newBuilder()
+            #                  .setValue(((float) alpha) / denominator)
+            #                  .build());
+            #        }
+            #        return resultBuilder.build();
+            #      }
+            #      // ...
+            #
+            # Example (iOS / Obj-C):
+            #
+            #      // ...
+            #      static UIColor* fromProto(Color* protocolor) {
+            #         float red = [protocolor red];
+            #         float green = [protocolor green];
+            #         float blue = [protocolor blue];
+            #         FloatValue* alpha_wrapper = [protocolor alpha];
+            #         float alpha = 1.0;
+            #         if (alpha_wrapper != nil) {
+            #           alpha = [alpha_wrapper value];
+            #         }
+            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+            #      }
+            #
+            #      static Color* toProto(UIColor* color) {
+            #          CGFloat red, green, blue, alpha;
+            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+            #            return nil;
+            #          }
+            #          Color* result = [[Color alloc] init];
+            #          [result setRed:red];
+            #          [result setGreen:green];
+            #          [result setBlue:blue];
+            #          if (alpha &lt;= 0.9999) {
+            #            [result setAlpha:floatWrapperWithValue(alpha)];
+            #          }
+            #          [result autorelease];
+            #          return result;
+            #     }
+            #     // ...
+            #
+            #  Example (JavaScript):
+            #
+            #     // ...
+            #
+            #     var protoToCssColor = function(rgb_color) {
+            #        var redFrac = rgb_color.red || 0.0;
+            #        var greenFrac = rgb_color.green || 0.0;
+            #        var blueFrac = rgb_color.blue || 0.0;
+            #        var red = Math.floor(redFrac * 255);
+            #        var green = Math.floor(greenFrac * 255);
+            #        var blue = Math.floor(blueFrac * 255);
+            #
+            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+            #           return rgbToCssColor_(red, green, blue);
+            #        }
+            #
+            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+            #     };
+            #
+            #     var rgbToCssColor_ = function(red, green, blue) {
+            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+            #       var hexString = rgbNumber.toString(16);
+            #       var missingZeros = 6 - hexString.length;
+            #       var resultBuilder = [&#x27;#&#x27;];
+            #       for (var i = 0; i &lt; missingZeros; i++) {
+            #          resultBuilder.push(&#x27;0&#x27;);
+            #       }
+            #       resultBuilder.push(hexString);
+            #       return resultBuilder.join(&#x27;&#x27;);
+            #     };
+            #
+            #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+              # the final pixel color is defined by the equation:
+              #
+              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              #
+              # This means that a value of 1.0 corresponds to a solid color, whereas
+              # a value of 0.0 corresponds to a completely transparent color. This
+              # uses a wrapper message rather than a simple float scalar so that it is
+              # possible to distinguish between a default value and the value being unset.
+              # If omitted, this color object is to be rendered as a solid color
+              # (as if the alpha value had been explicitly given with a value of 1.0).
+        },
         &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
         &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
         &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
               # the user&#x27;s locale will be used if necessary for the given type.
@@ -144005,6 +144221,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
               # When writing, this field must be set.
         },
+        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
           &quot;left&quot;: { # A border along a cell. # The left border of the cell.
             &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -144131,6 +144348,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -144142,9 +144362,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -144266,6 +144483,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -144277,9 +144497,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -144408,6 +144625,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -144419,9 +144639,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -144543,6 +144760,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -144554,9 +144774,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -144685,6 +144902,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -144696,9 +144916,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -144820,6 +145037,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -144831,9 +145051,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -144962,6 +145179,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -144973,9 +145193,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -145097,6 +145314,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -145108,9 +145328,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -145242,6 +145459,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -145253,12 +145473,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
-          &quot;bold&quot;: True or False, # True if the text is bold.
+          &quot;italic&quot;: True or False, # True if the text is italicized.
           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -145378,6 +145595,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -145389,35 +145609,11 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
-          &quot;italic&quot;: True or False, # True if the text is italicized.
+          &quot;bold&quot;: True or False, # True if the text is bold.
           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         },
-        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-              # Measured in degrees. Valid values are between -90 and 90. Positive
-              # angles are angled upwards, negative are angled downwards.
-              #
-              # Note: For LTR text direction positive angles are in the
-              # counterclockwise direction, whereas for RTL they are in the clockwise
-              # direction
-          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-              # characters is unchanged.
-              # For example:
-              #
-              #     | V |
-              #     | e |
-              #     | r |
-              #     | t |
-              #     | i |
-              #     | c |
-              #     | a |
-              #     | l |
-        },
         &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
             # If background_color is also set, this field takes precedence.
           &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -145540,6 +145736,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -145551,154 +145750,34 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
         },
-        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-            # When updating padding, every field must be specified.
-          &quot;right&quot;: 42, # The right padding of the cell.
-          &quot;bottom&quot;: 42, # The bottom padding of the cell.
-          &quot;left&quot;: 42, # The left padding of the cell.
-          &quot;top&quot;: 42, # The top padding of the cell.
-        },
-        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-            # for simplicity of conversion to/from color representations in various
-            # languages over compactness; for example, the fields of this representation
-            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-            # method in iOS; and, with just a little work, it can be easily formatted into
-            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-            #
-            # Note: this proto does not carry information about the absolute color space
-            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-            # space.
-            #
-            # Example (Java):
-            #
-            #      import com.google.type.Color;
-            #
-            #      // ...
-            #      public static java.awt.Color fromProto(Color protocolor) {
-            #        float alpha = protocolor.hasAlpha()
-            #            ? protocolor.getAlpha().getValue()
-            #            : 1.0;
-            #
-            #        return new java.awt.Color(
-            #            protocolor.getRed(),
-            #            protocolor.getGreen(),
-            #            protocolor.getBlue(),
-            #            alpha);
-            #      }
-            #
-            #      public static Color toProto(java.awt.Color color) {
-            #        float red = (float) color.getRed();
-            #        float green = (float) color.getGreen();
-            #        float blue = (float) color.getBlue();
-            #        float denominator = 255.0;
-            #        Color.Builder resultBuilder =
-            #            Color
-            #                .newBuilder()
-            #                .setRed(red / denominator)
-            #                .setGreen(green / denominator)
-            #                .setBlue(blue / denominator);
-            #        int alpha = color.getAlpha();
-            #        if (alpha != 255) {
-            #          result.setAlpha(
-            #              FloatValue
-            #                  .newBuilder()
-            #                  .setValue(((float) alpha) / denominator)
-            #                  .build());
-            #        }
-            #        return resultBuilder.build();
-            #      }
-            #      // ...
-            #
-            # Example (iOS / Obj-C):
-            #
-            #      // ...
-            #      static UIColor* fromProto(Color* protocolor) {
-            #         float red = [protocolor red];
-            #         float green = [protocolor green];
-            #         float blue = [protocolor blue];
-            #         FloatValue* alpha_wrapper = [protocolor alpha];
-            #         float alpha = 1.0;
-            #         if (alpha_wrapper != nil) {
-            #           alpha = [alpha_wrapper value];
-            #         }
-            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-            #      }
-            #
-            #      static Color* toProto(UIColor* color) {
-            #          CGFloat red, green, blue, alpha;
-            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-            #            return nil;
-            #          }
-            #          Color* result = [[Color alloc] init];
-            #          [result setRed:red];
-            #          [result setGreen:green];
-            #          [result setBlue:blue];
-            #          if (alpha &lt;= 0.9999) {
-            #            [result setAlpha:floatWrapperWithValue(alpha)];
-            #          }
-            #          [result autorelease];
-            #          return result;
-            #     }
-            #     // ...
-            #
-            #  Example (JavaScript):
-            #
-            #     // ...
-            #
-            #     var protoToCssColor = function(rgb_color) {
-            #        var redFrac = rgb_color.red || 0.0;
-            #        var greenFrac = rgb_color.green || 0.0;
-            #        var blueFrac = rgb_color.blue || 0.0;
-            #        var red = Math.floor(redFrac * 255);
-            #        var green = Math.floor(greenFrac * 255);
-            #        var blue = Math.floor(blueFrac * 255);
-            #
-            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-            #           return rgbToCssColor_(red, green, blue);
-            #        }
-            #
-            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-            #     };
-            #
-            #     var rgbToCssColor_ = function(red, green, blue) {
-            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-            #       var hexString = rgbNumber.toString(16);
-            #       var missingZeros = 6 - hexString.length;
-            #       var resultBuilder = [&#x27;#&#x27;];
-            #       for (var i = 0; i &lt; missingZeros; i++) {
-            #          resultBuilder.push(&#x27;0&#x27;);
-            #       }
-            #       resultBuilder.push(hexString);
-            #       return resultBuilder.join(&#x27;&#x27;);
-            #     };
-            #
-            #     // ...
-          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-              # the final pixel color is defined by the equation:
+        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+              # Measured in degrees. Valid values are between -90 and 90. Positive
+              # angles are angled upwards, negative are angled downwards.
               #
-              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              # Note: For LTR text direction positive angles are in the
+              # counterclockwise direction, whereas for RTL they are in the clockwise
+              # direction
+          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+              # characters is unchanged.
+              # For example:
               #
-              # This means that a value of 1.0 corresponds to a solid color, whereas
-              # a value of 0.0 corresponds to a completely transparent color. This
-              # uses a wrapper message rather than a simple float scalar so that it is
-              # possible to distinguish between a default value and the value being unset.
-              # If omitted, this color object is to be rendered as a solid color
-              # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              #     | V |
+              #     | e |
+              #     | r |
+              #     | t |
+              #     | i |
+              #     | c |
+              #     | a |
+              #     | l |
         },
       },
       &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
       &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
           # calculation.  Absence of this field means that circular references result
           # in calculation errors.
@@ -145708,9 +145787,6 @@
         &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
             # less than this threshold value, the calculation rounds stop.
       },
-      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-          # be a custom time zone such as `GMT-07:00`.
       &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
         &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
         &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -145839,6 +145915,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -145850,9 +145929,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           },
@@ -145867,89 +145943,13 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
+      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
     },
-    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
-      { # A named range.
-        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-        &quot;range&quot;: { # A range on a sheet. # The range this represents.
-            # All indexes are zero-based.
-            # Indexes are half open, e.g the start index is inclusive
-            # and the end index is exclusive -- [start_index, end_index).
-            # Missing indexes indicate the range is unbounded on that side.
-            #
-            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-            #
-            #   `Sheet1!A1:A1 == sheet_id: 0,
-            #                   start_row_index: 0, end_row_index: 1,
-            #                   start_column_index: 0, end_column_index: 1`
-            #
-            #   `Sheet1!A3:B4 == sheet_id: 0,
-            #                   start_row_index: 2, end_row_index: 4,
-            #                   start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A:B == sheet_id: 0,
-            #                 start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A5:B == sheet_id: 0,
-            #                  start_row_index: 4,
-            #                  start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1 == sheet_id:0`
-            #
-            # The start index must always be less than or equal to the end index.
-            # If the start index equals the end index, then the range is empty.
-            # Empty ranges are typically not meaningful and are usually rendered in the
-            # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-          &quot;sheetId&quot;: 42, # The sheet this range is on.
-          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-      },
-    ],
-    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
-      { # Developer metadata associated with a location or object in a spreadsheet.
-          # Developer metadata may be used to associate arbitrary data with various
-          # parts of a spreadsheet and will remain associated at those locations as they
-          # move around and the spreadsheet is edited.  For example, if developer
-          # metadata is associated with row 5 and another row is then subsequently
-          # inserted above row 5, that original metadata will still be associated with
-          # the row it was first associated with (what is now row 6). If the associated
-          # object is deleted its metadata is deleted too.
-        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-            # same key.  Developer metadata must always have a key specified.
-        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-            # specified.
-        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-            # specified when metadata is created, otherwise one will be randomly
-            # generated and assigned. Must be positive.
-        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-              # a dimension. The specified DimensionRange must represent a single row
-              # or column; it cannot be unbounded or span multiple rows or columns.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-      },
-    ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(spreadsheetId, includeGridData=None, ranges=None, x__xgafv=None)</code>
+    <code class="details" id="get">get(spreadsheetId, ranges=None, includeGridData=None, x__xgafv=None)</code>
   <pre>Returns the spreadsheet at the given ID.
 The caller must specify the spreadsheet ID.
 
@@ -145974,9 +145974,9 @@
 
 Args:
   spreadsheetId: string, The spreadsheet to request. (required)
+  ranges: string, The ranges to retrieve from the spreadsheet. (repeated)
   includeGridData: boolean, True if grid data should be returned.
 This parameter is ignored if a field mask was set in the request.
-  ranges: string, The ranges to retrieve from the spreadsheet. (repeated)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -145986,44 +145986,92 @@
   An object of the form:
 
     { # Resource that represents a spreadsheet.
+    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
+      { # A named range.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+        &quot;range&quot;: { # A range on a sheet. # The range this represents.
+            # All indexes are zero-based.
+            # Indexes are half open, e.g the start index is inclusive
+            # and the end index is exclusive -- [start_index, end_index).
+            # Missing indexes indicate the range is unbounded on that side.
+            #
+            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+            #
+            #   `Sheet1!A1:A1 == sheet_id: 0,
+            #                   start_row_index: 0, end_row_index: 1,
+            #                   start_column_index: 0, end_column_index: 1`
+            #
+            #   `Sheet1!A3:B4 == sheet_id: 0,
+            #                   start_row_index: 2, end_row_index: 4,
+            #                   start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A:B == sheet_id: 0,
+            #                 start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A5:B == sheet_id: 0,
+            #                  start_row_index: 4,
+            #                  start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1 == sheet_id:0`
+            #
+            # The start index must always be less than or equal to the end index.
+            # If the start index equals the end index, then the range is empty.
+            # Empty ranges are typically not meaningful and are usually rendered in the
+            # UI as `#REF!`.
+          &quot;sheetId&quot;: 42, # The sheet this range is on.
+          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+        },
+      },
+    ],
+    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
+      { # Developer metadata associated with a location or object in a spreadsheet.
+          # Developer metadata may be used to associate arbitrary data with various
+          # parts of a spreadsheet and will remain associated at those locations as they
+          # move around and the spreadsheet is edited.  For example, if developer
+          # metadata is associated with row 5 and another row is then subsequently
+          # inserted above row 5, that original metadata will still be associated with
+          # the row it was first associated with (what is now row 6). If the associated
+          # object is deleted its metadata is deleted too.
+        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+            # same key.  Developer metadata must always have a key specified.
+        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+            # specified.
+        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+            # specified when metadata is created, otherwise one will be randomly
+            # generated and assigned. Must be positive.
+        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+              # a dimension. The specified DimensionRange must represent a single row
+              # or column; it cannot be unbounded or span multiple rows or columns.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+      },
+    ],
     &quot;spreadsheetUrl&quot;: &quot;A String&quot;, # The url of the spreadsheet.
         # This field is read-only.
     &quot;sheets&quot;: [ # The sheets that are part of a spreadsheet.
       { # A sheet in a spreadsheet.
-        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
-            # by group depth.
-          { # A group over an interval of rows or columns on a sheet, which can contain or
-              # be contained within other groups. A group can be collapsed or expanded as a
-              # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
-            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                # collapsed if an overlapping group at a shallower depth is expanded.
-                #
-                # A true value does not imply that all dimensions within the group are
-                # hidden, since a dimension&#x27;s visibility can change independently from this
-                # group property. However, when this property is updated, all dimensions
-                # within it are set to hidden if this field is true, or set to visible if
-                # this field is false.
-            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-        ],
         &quot;columnGroups&quot;: [ # All column groups on this sheet, ordered by increasing range start index,
             # then by group depth.
           { # A group over an interval of rows or columns on a sheet, which can contain or
               # be contained within other groups. A group can be collapsed or expanded as a
               # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
             &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
                 # collapsed if an overlapping group at a shallower depth is expanded.
                 #
@@ -146037,17 +146085,193 @@
                 # Indexes are half open: the start index is inclusive
                 # and the end index is exclusive.
                 # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               &quot;sheetId&quot;: 42, # The sheet this span is on.
               &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
               &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
           },
         ],
         &quot;slicers&quot;: [ # The slicers on this sheet.
           { # A slicer in a sheet.
             &quot;slicerId&quot;: 42, # The ID of the slicer.
             &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                  # If not set, default to `True`.
+              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                  # If unspecified, defaults to `LEFT`
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
                 &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                     # shown. Mutually exclusive with visible_foreground_color.
@@ -146169,6 +146393,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -146180,9 +146407,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -146331,6 +146555,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -146342,9 +146569,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -146470,6 +146694,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -146481,9 +146708,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -146610,6 +146834,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -146621,9 +146848,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -146756,6 +146980,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -146767,12 +146994,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -146892,6 +147116,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -146903,11 +147130,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -147034,6 +147258,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -147045,190 +147272,16 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                  # If not set, default to `True`.
-              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                  # If unspecified, defaults to `LEFT`
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
             },
             &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
                 # existing sheet. Also, width and height of slicer can be automatically
                 # adjusted to keep it within permitted limits.
               &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                 &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                     # All indexes are zero-based.
                   &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -147238,9 +147291,6 @@
                 &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
                 &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
               },
               &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                   # is chosen for you. Used only when writing.
@@ -147277,16 +147327,17 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
             },
           },
         ],
         &quot;filterViews&quot;: [ # The filter views in this sheet.
           { # A filter view.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
             &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                 # The map&#x27;s key is the column index, and the value is the criteria for
                 # that column.
@@ -147411,6 +147462,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -147422,9 +147476,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -147573,6 +147624,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -147584,9 +147638,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -147712,6 +147763,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -147723,9 +147777,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -147852,6 +147903,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -147863,9 +147917,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -148000,6 +148051,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -148011,9 +148065,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -148139,6 +148190,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -148150,9 +148204,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -148281,6 +148332,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -148292,9 +148346,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -148417,6 +148468,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -148428,9 +148482,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -148467,17 +148518,37 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
           },
         ],
         &quot;charts&quot;: [ # The specifications of every chart on this sheet.
           { # A chart embedded in a sheet.
+            &quot;chartId&quot;: 42, # The ID of the chart.
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
             &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
               &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                   # chart&lt;/a&gt;.
@@ -148537,11 +148608,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -148598,11 +148669,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -148660,11 +148731,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -148721,11 +148792,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -148786,11 +148857,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -148932,6 +149003,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -148943,9 +149017,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -148997,11 +149068,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -149126,6 +149197,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -149137,9 +149211,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 ],
@@ -149156,142 +149227,254 @@
                     # be added to the first or last buckets instead of their own buckets.
                     # Must be between 0.0 and 0.5.
               },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual minimum value from color_data, or the minimum value from
+                    # size_data if color_data is not specified.
+                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual maximum value from color_data, or the maximum value from
+                    # size_data if color_data is not specified.
+                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                    # This field is optional. If not specified, size_data is used to
+                    # determine background colors. If specified, the data is expected to be
+                    # numeric. color_scale will determine how the values in this data map to
+                    # data cell background colors.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                    # expected to be numeric. The cells corresponding to non-numeric or missing
+                    # data will not be rendered. If color_data is not specified, this data
+                    # is used to determine data cell background colors as well.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
                 &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                     # on the treemap chart. These levels are not interactive and are shown
                     # without their labels. Defaults to 0 if not specified.
@@ -149425,6 +149608,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -149436,12 +149622,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -149561,6 +149744,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -149572,11 +149758,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -149596,6 +149779,146 @@
                     # Cells with missing or non-numeric color values will have
                     # noDataColor as their background
                     # color.
+                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # If max_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
                   &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                       # them. Defaults to #000000 if not specified.
                       # If no_data_color is also set, this field takes precedence.
@@ -149719,6 +150042,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -149730,9 +150056,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -149856,6 +150179,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -149867,9 +150193,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                       # minValue. Defaults to #dc3912 if not
@@ -149995,6 +150318,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -150006,9 +150332,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -150133,6 +150456,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -150144,144 +150470,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                       # to maxValue. Defaults to #109618 if not
@@ -150404,6 +150592,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -150415,9 +150606,141 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
                     &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                     &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
                   },
                   &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                       # minValue and
@@ -150544,6 +150867,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -150555,149 +150881,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # If max_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 },
@@ -150820,6 +151003,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -150831,9 +151017,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                     # If header_color is also set, this field takes precedence.
@@ -150957,6 +151140,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -150968,334 +151154,469 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual minimum value from color_data, or the minimum value from
-                    # size_data if color_data is not specified.
-                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual maximum value from color_data, or the maximum value from
-                    # size_data if color_data is not specified.
-                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                    # This field is optional. If not specified, size_data is used to
-                    # determine background colors. If specified, the data is expected to be
-                    # numeric. color_scale will determine how the values in this data map to
-                    # data cell background colors.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                    # expected to be numeric. The cells corresponding to non-numeric or missing
-                    # data will not be rendered. If color_data is not specified, this data
-                    # is used to determine data cell background colors as well.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
               },
               &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                   # See BasicChartType for the list of all
                   # charts this supports.
                   # of charts this supports.
+                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                    # Applies to Line charts.
+                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                    # chart area.
+                &quot;axis&quot;: [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                        # values in an axis).
+                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a maximum value that looks good for the data.
+                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a minimum value that looks good for the data.
+                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                    },
+                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn&#x27;t specified.
+                      &quot;fontSize&quot;: 42, # The size of the font.
+                      &quot;underline&quot;: True or False, # True if the text is underlined.
+                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                          # If foreground_color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                    },
+                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                  },
+                ],
+                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                    # segments of lines in a line chart will be missing).  To eliminate these
+                    # gaps set this to true.
+                    # Applies to Line, Area, and Combo charts.
                 &quot;series&quot;: [ # The data this chart is visualizing.
                   { # A single series of data in a chart.
                       # For example, if charting stock prices over time, multiple series may exist,
                       # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                        # chartType is AREA,
-                        # LINE, or SCATTER.
-                        # COMBO charts are also supported if the
-                        # series chart type is
-                        # AREA or LINE.
-                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                      &quot;width&quot;: 42, # The thickness of the line, in px.
-                    },
                     &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                         # this series.  If empty, a default color is used.
                         # If color is also set, this field takes precedence.
@@ -151419,6 +151740,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -151430,9 +151754,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -151568,6 +151889,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -151579,9 +151903,73 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    },
+                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                        # chartType is AREA,
+                        # LINE, or SCATTER.
+                        # COMBO charts are also supported if the
+                        # series chart type is
+                        # AREA or LINE.
+                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                      &quot;width&quot;: 42, # The thickness of the line, in px.
                     },
                   },
                 ],
@@ -151644,11 +152032,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -151656,473 +152044,10 @@
                     &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                   },
                 ],
-                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                    # Applies to Line charts.
-                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                    # If not set, Google Sheets will guess how many rows are headers based
-                    # on the data.
-                    #
-                    # (Note that BasicChartAxis.title may override the axis title
-                    #  inferred from the header values.)
-                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                    # chart area.
-                &quot;axis&quot;: [ # The axis on the chart.
-                  { # An axis of the chart.
-                      # A chart may not have more than one axis per
-                      # axis position.
-                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
-                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                        # Only valid if the axis is not associated with the domain.
-                        # Absent values indicate that the field isn&#x27;t specified.
-                      &quot;fontSize&quot;: 42, # The size of the font.
-                      &quot;underline&quot;: True or False, # True if the text is underlined.
-                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                          # If foreground_color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
-                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
-                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                    },
-                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                        # values in an axis).
-                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a minimum value that looks good for the data.
-                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a maximum value that looks good for the data.
-                    },
-                  },
-                ],
-                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                    # segments of lines in a line chart will be missing).  To eliminate these
-                    # gaps set this to true.
-                    # Applies to Line, Area, and Combo charts.
               },
-              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
               &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                  &quot;width&quot;: 42, # The thickness of the line, in px.
-                },
                 &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                   { # A single series of data for a waterfall chart.
-                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                        # subtotals are defined is not significant. Only one subtotal may be
-                        # defined for each data point.
-                      { # A custom subtotal column for a waterfall chart series.
-                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                            # data_is_subtotal is true, the data point at this index is the
-                            # subtotal. Otherwise, the subtotal appears after the data point with
-                            # this index. A series can have multiple subtotals at arbitrary indices,
-                            # but subtotals do not affect the indices of the data points. For
-                            # example, if a series has three data points, their indices will always
-                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                            # what data points they are associated with.
-                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                            # the subtotal will be computed and appear after the data point.
-                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                      },
-                    ],
-                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                        # a subtotal column will appear at the end of each series. Setting this
-                        # field to true will hide that subtotal column for this series.
-                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
                     &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                       &quot;colorStyle&quot;: { # A color value. # The color of the column.
                           # If color is also set, this field takes precedence.
@@ -152246,6 +152171,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -152257,9 +152185,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -152381,6 +152306,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -152392,9 +152320,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -152521,6 +152446,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -152532,9 +152460,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -152656,6 +152581,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -152667,9 +152595,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -152796,6 +152721,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -152807,9 +152735,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -152931,6 +152856,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -152942,15 +152870,895 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
+                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                        # subtotals are defined is not significant. Only one subtotal may be
+                        # defined for each data point.
+                      { # A custom subtotal column for a waterfall chart series.
+                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                            # data_is_subtotal is true, the data point at this index is the
+                            # subtotal. Otherwise, the subtotal appears after the data point with
+                            # this index. A series can have multiple subtotals at arbitrary indices,
+                            # but subtotals do not affect the indices of the data points. For
+                            # example, if a series has three data points, their indices will always
+                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                            # what data points they are associated with.
+                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                            # the subtotal will be computed and appear after the data point.
+                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                      },
+                    ],
+                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                        # a subtotal column will appear at the end of each series. Setting this
+                        # field to true will hide that subtotal column for this series.
                   },
                 ],
                 &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                  &quot;width&quot;: 42, # The thickness of the line, in px.
+                },
+              },
+              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                  # Org charts require a unique set of labels in labels and may
+                  # optionally include parent_labels and tooltips.
+                  # parent_labels contain, for each node, the label identifying the parent
+                  # node.  tooltips contain, for each node, an optional tooltip.
+                  #
+                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                    # If node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                    # results in no tooltip being displayed for the node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                    # must be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                    # A blank value indicates that the node has no parent and is a top-level
+                    # node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                    # If selected_node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
               },
               &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                   # Strikethrough and underline are not supported.
@@ -153079,6 +153887,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -153090,12 +153901,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -153215,6 +154023,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -153226,751 +154037,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                  # Org charts require a unique set of labels in labels and may
-                  # optionally include parent_labels and tooltips.
-                  # parent_labels contain, for each node, the label identifying the parent
-                  # node.  tooltips contain, for each node, an optional tooltip.
-                  #
-                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                    # A blank value indicates that the node has no parent and is a top-level
-                    # node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                    # If selected_node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                    # If node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                    # results in no tooltip being displayed for the node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                    # must be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
               &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
                 &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
                 &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -154022,11 +154093,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -154082,22 +154153,22 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
               },
-              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                  # for accessibility.
               &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                   # This field is optional.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
+              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                  # for accessibility.
               &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                   # axis labels, legend).  If a font is specified for a specific part of the
                   # chart it will override this font name.
@@ -154228,6 +154299,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -154239,12 +154313,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -154364,6 +154435,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -154375,11 +154449,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -154396,10 +154467,18 @@
                   # can specify a single data value, or aggregate over a range of data.
                   # Percentage or absolute difference from a baseline value can be highlighted,
                   # like changes over time.
-                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                    # This field is optional.
+                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                    # chart. This field is used only when number_format_source is set to
+                    # CUSTOM. This field is optional.
+                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                      # This field is optional.
+                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                      # This field is optional.
+                },
                 &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                     # This field is optional.
+                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                    # This field is optional.
                 &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                     # 10 can be used to divide all values in the chart by 10.
                     # This field is optional.
@@ -154452,11 +154531,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -154511,17 +154590,430 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
                 &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                     # This field is needed only if baseline_value_data is specified.
+                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # If negative_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
                   &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                       # Absent values indicate that the field isn&#x27;t specified.
@@ -154649,6 +155141,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -154660,12 +155155,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -154785,6 +155277,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -154796,11 +155291,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -154929,6 +155421,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -154940,424 +155435,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # If negative_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
                 },
                 &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -155486,6 +155565,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -155497,12 +155579,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -155622,6 +155701,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -155633,11 +155715,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -155646,14 +155725,6 @@
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                   },
                 },
-                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                    # chart. This field is used only when number_format_source is set to
-                    # CUSTOM. This field is optional.
-                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                      # This field is optional.
-                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                      # This field is optional.
-                },
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                   # Not applicable to Org charts.
@@ -155778,6 +155849,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -155789,77 +155863,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
               &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
               &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                    # 0 is fully transparent and 1 is fully opaque.
-                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                    # the bubbles at different sizes relative to each other.
-                    # If specified, group_ids must also be specified.  This field is
-                    # optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
                 &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                     # If specific, the field must be a positive value.
                 &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -155981,6 +155989,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -155992,9 +156003,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                     # If specified, the field must be a positive value.
@@ -156120,6 +156128,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -156131,9 +156142,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -156188,11 +156196,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -156247,11 +156255,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -156305,11 +156313,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -156365,11 +156373,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -156501,6 +156509,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -156512,12 +156523,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -156637,6 +156645,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -156648,41 +156659,84 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-              },
-            },
-            &quot;chartId&quot;: 42, # The ID of the chart.
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                    # the bubbles at different sizes relative to each other.
+                    # If specified, group_ids must also be specified.  This field is
+                    # optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
                 },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                    # 0 is fully transparent and 1 is fully opaque.
               },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
             },
           },
         ],
         &quot;protectedRanges&quot;: [ # The protected ranges in this sheet.
           { # A protected range.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
             &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
                 # Unprotected ranges are only supported on protected sheets.
               { # A range on a sheet.
@@ -156714,11 +156768,11 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -156761,21 +156815,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
             &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
                 # This field is only visible to users with edit access to the protected
                 # range and the document.
@@ -156789,10 +156834,15 @@
                 &quot;A String&quot;,
               ],
             },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
                 #
-                # When writing, only one of range or named_range_id
-                # may be set.
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
           },
         ],
         &quot;basicFilter&quot;: { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -156920,6 +156970,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -156931,9 +156984,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -157082,6 +157132,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -157093,9 +157146,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -157221,6 +157271,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -157232,9 +157285,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -157361,6 +157411,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -157372,9 +157425,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -157411,11 +157461,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -157540,6 +157590,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -157551,9 +157604,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                   # to the top. Mutually exclusive with foreground_color, and must be an
@@ -157679,6 +157729,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -157690,9 +157743,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -157821,6 +157871,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -157832,9 +157885,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -157957,6 +158007,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -157968,9 +158021,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           ],
@@ -158005,1134 +158055,15 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         ],
         &quot;bandedRanges&quot;: [ # The banded (alternating colors) ranges on this sheet.
           { # A banded (alternating colors) range in a sheet.
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -159149,6 +158080,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -159271,6 +158886,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -159282,284 +158900,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -159686,6 +159028,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -159697,12 +159042,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -159821,6 +159168,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -159832,425 +159182,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -160282,11 +159213,1130 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
         ],
@@ -160306,16 +160356,14 @@
               # (If the sheet is an object sheet, containing a chart or image, then
               # this field will be absent.)
               # When writing it is an error to set any grid properties on non-grid sheets.
+            &quot;rowCount&quot;: 42, # The number of rows in the grid.
+            &quot;columnCount&quot;: 42, # The number of columns in the grid.
+            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
             &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
             &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
             &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
             &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-            &quot;rowCount&quot;: 42, # The number of rows in the grid.
-            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-            &quot;columnCount&quot;: 42, # The number of columns in the grid.
           },
-          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-              # This field cannot be changed once set.
           &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -160435,6 +160483,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -160446,10 +160497,9 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
+          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+              # This field cannot be changed once set.
           &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
           &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
               # If tab_color is also set, this field takes precedence.
@@ -160573,6 +160623,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -160584,9 +160637,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -160626,50 +160676,164 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
               &quot;format&quot;: { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
                   # bold, italic,
                   # strikethrough,
                   # foreground color &amp;
                   # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                 &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                   &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user&#x27;s locale will be used if necessary for the given type.
@@ -160678,6 +160842,7 @@
                   &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                       # When writing, this field must be set.
                 },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                   &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                     &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -160804,6 +160969,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -160815,9 +160983,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -160939,6 +161104,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -160950,9 +161118,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -161081,6 +161246,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -161092,9 +161260,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -161216,6 +161381,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -161227,9 +161395,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -161358,6 +161523,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -161369,9 +161537,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -161493,6 +161658,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -161504,9 +161672,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -161635,6 +161800,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -161646,9 +161814,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -161770,6 +161935,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -161781,9 +161949,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -161915,6 +162080,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -161926,12 +162094,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -162051,6 +162216,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -162062,35 +162230,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                     # If background_color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -162213,6 +162357,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -162224,153 +162371,56 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
                       #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
                       #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
                 },
               },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
             },
             &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
                 # the interpolation points listed. The format of a cell will vary
@@ -162379,9 +162429,6 @@
               &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -162504,6 +162551,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -162515,9 +162565,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -162639,6 +162686,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -162650,18 +162700,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -162784,6 +162831,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -162795,9 +162845,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -162919,6 +162966,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -162930,18 +162980,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -163064,6 +163111,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -163075,9 +163125,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -163199,6 +163246,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -163210,11 +163260,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
             },
           },
@@ -163232,7 +163282,6 @@
             &quot;columnMetadata&quot;: [ # Metadata about the requested columns in the grid, starting with the column
                 # in start_column.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -163264,14 +163313,15 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;rowData&quot;: [ # The data in the grid, one entry per row,
@@ -163281,47 +163331,16 @@
               { # Data about each cell in a row.
                 &quot;values&quot;: [ # The values in the row, one per column.
                   { # Data about a specific cell.
+                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                        # This is the value as it&#x27;s shown to the user.
+                        # This field is read-only.
                     &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                         # is computed dynamically based on its data, grouping, filters, values,
                         # etc. Only the top-left cell of the pivot table contains the pivot table
                         # definition. The other cells will contain the calculated values of the
                         # results of the pivot in their effective_value fields.
-                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
                         { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
                           &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                               # This is only valid for row groupings and is ignored by columns.
                               #
@@ -163344,13 +163363,6 @@
                               &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -163359,6 +163371,13 @@
                                 &quot;numberValue&quot;: 3.14, # Represents a double value.
                                     # Note: Dates, Times and DateTimes are represented as doubles in
                                     # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               },
                             },
                           ],
@@ -163474,13 +163493,6 @@
                                       # group within a given ManualRule. Items that do not appear in any
                                       # group will appear on their own.
                                     { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                           # Leading single quotes are not included. For example, if the user typed
                                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -163489,17 +163501,17 @@
                                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                                           # Note: Dates, Times and DateTimes are represented as doubles in
                                           # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     },
                                   ],
                                   &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                       # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -163508,6 +163520,13 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 },
                               ],
@@ -163531,6 +163550,303 @@
                               #     +--------------+---------+-------+
                               #     | Grand Total  |    1110 |   636 |
                               #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
+                        },
+                      ],
+                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                          # or vertically (as rows).
+                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                          #
+                          # The filters are applied before aggregating data into the pivot table.
+                          # The map&#x27;s key is the column offset of the source range that you want to
+                          # filter, and the value is the criteria for that column.
+                          #
+                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                          # for column `C`, whereas the key `1` is for column `D`.
+                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                            &quot;A String&quot;,
+                          ],
+                        },
+                      },
+                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                        { # A single grouping (either row or column) in a pivot table.
+                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                              # This is only valid for row groupings and is ignored by columns.
+                              #
+                              # By default, we minimize repitition of headings by not showing higher
+                              # level headings where they are the same. For example, even though the
+                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                              # it is redundant with previous rows. Setting repeat_headings to true
+                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                              #
+                              #     +--------------+
+                              #     | Q1     | Jan |
+                              #     |        | Feb |
+                              #     |        | Mar |
+                              #     +--------+-----+
+                              #     | Q1 Total     |
+                              #     +--------------+
+                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                            { # Metadata about a value in a pivot grouping.
+                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                  # (Note that formulaValue is not valid,
+                                  #  because the values will be calculated.)
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            },
+                          ],
+                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                              #
+                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                              # means this group refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
+                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                              # in the source data column rather than breaking out each individual value.
+                              # Only one PivotGroup with a group rule may be added for each column in
+                              # the source data, though on any given column you may add both a
+                              # PivotGroup that has a rule and a PivotGroup that does not.
+                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                                # buckets of a constant size. All values from HistogramRule.start to
+                                # HistogramRule.end are placed into groups of size
+                                # HistogramRule.interval. In addition, all values below
+                                # HistogramRule.start are placed in one group, and all values above
+                                # HistogramRule.end are placed in another. Only
+                                # HistogramRule.interval is required, though if HistogramRule.start
+                                # and HistogramRule.end are both provided, HistogramRule.start must
+                                # be less than HistogramRule.end. For example, a pivot table showing
+                                # average purchase amount by age that has 50+ rows:
+                                #
+                                #     +-----+-------------------+
+                                #     | Age | AVERAGE of Amount |
+                                #     +-----+-------------------+
+                                #     | 16  |            $27.13 |
+                                #     | 17  |             $5.24 |
+                                #     | 18  |            $20.15 |
+                                #     ...
+                                #     +-----+-------------------+
+                                # could be turned into a pivot table that looks like the one below by
+                                # applying a histogram group rule with a HistogramRule.start of 25,
+                                # an HistogramRule.interval of 20, and an HistogramRule.end
+                                # of 65.
+                                #
+                                #     +-------------+-------------------+
+                                #     | Grouped Age | AVERAGE of Amount |
+                                #     +-------------+-------------------+
+                                #     | &lt; 25        |            $19.34 |
+                                #     | 25-45       |            $31.43 |
+                                #     | 45-65       |            $35.87 |
+                                #     | &gt; 65        |            $27.55 |
+                                #     +-------------+-------------------+
+                                #     | Grand Total |            $29.12 |
+                                #     +-------------+-------------------+
+                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                  # of constant size. Values below start are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                  # of constant size. Values above end are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                            },
+                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                                # buckets based on selected parts of their date or time values. For example,
+                                # consider a pivot table showing sales transactions by date:
+                                #
+                                #     +----------+--------------+
+                                #     | Date     | SUM of Sales |
+                                #     +----------+--------------+
+                                #     | 1/1/2017 |      $621.14 |
+                                #     | 2/3/2017 |      $708.84 |
+                                #     | 5/8/2017 |      $326.84 |
+                                #     ...
+                                #     +----------+--------------+
+                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                                # results in the following pivot table.
+                                #
+                                #     +--------------+--------------+
+                                #     | Grouped Date | SUM of Sales |
+                                #     +--------------+--------------+
+                                #     | 2017-Jan     |   $53,731.78 |
+                                #     | 2017-Feb     |   $83,475.32 |
+                                #     | 2017-Mar     |   $94,385.05 |
+                                #     ...
+                                #     +--------------+--------------+
+                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                            },
+                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                                # buckets with names of your choosing. For example, a pivot table that
+                                # aggregates population by state:
+                                #
+                                #     +-------+-------------------+
+                                #     | State | SUM of Population |
+                                #     +-------+-------------------+
+                                #     | AK    |               0.7 |
+                                #     | AL    |               4.8 |
+                                #     | AR    |               2.9 |
+                                #     ...
+                                #     +-------+-------------------+
+                                # could be turned into a pivot table that aggregates population by time zone
+                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                                # Note that a similar effect could be achieved by adding a time zone column
+                                # to the source data and adjusting the pivot table.
+                                #
+                                #     +-----------+-------------------+
+                                #     | Time Zone | SUM of Population |
+                                #     +-----------+-------------------+
+                                #     | Central   |             106.3 |
+                                #     | Eastern   |             151.9 |
+                                #     | Mountain  |              17.4 |
+                                #     ...
+                                #     +-----------+-------------------+
+                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                  # that map to each group name.
+                                { # A group name and a list of items from the source data that should be placed
+                                    # in the group with this name.
+                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                      # item may be a string, number, or boolean. Items may appear in at most one
+                                      # group within a given ManualRule. Items that do not appear in any
+                                      # group will appear on their own.
+                                    { # The kinds of value that a cell in a spreadsheet can have.
+                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                          # Leading single quotes are not included. For example, if the user typed
+                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                          # `&quot;123&quot;`.
+                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                          # Note: Dates, Times and DateTimes are represented as doubles in
+                                          # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                    },
+                                  ],
+                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                      # ManualRule must have a unique group name.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                },
+                              ],
+                            },
+                          },
+                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                              # example, in the following pivot table, the row label is `Region` (which
+                              # could be renamed to `State`) and the column label is `Product` (which
+                              # could be renamed `Item`). Pivot tables created before December 2017 do
+                              # not have header labels. If you&#x27;d like to add header labels to an existing
+                              # pivot table, please delete the existing pivot table and then create a new
+                              # pivot table with same parameters.
+                              #
+                              #     +--------------+---------+-------+
+                              #     | SUM of Units | Product |       |
+                              #     | Region       | Pen     | Paper |
+                              #     +--------------+---------+-------+
+                              #     | New York     |     345 |    98 |
+                              #     | Oregon       |     234 |   123 |
+                              #     | Tennessee    |     531 |   415 |
+                              #     +--------------+---------+-------+
+                              #     | Grand Total  |    1110 |   636 |
+                              #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
                         },
                       ],
                       &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -163562,20 +163878,14 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                       &quot;values&quot;: [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
-                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                              # the result of a calculation with another pivot value. For example, if
-                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                              # pivot values are displayed as the percentage of the grand total. In
-                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                              # pivot table.
                           &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                               #
                               # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -163590,275 +163900,15 @@
                               # If sourceColumnOffset is set, then `CUSTOM`
                               # is not supported.
                           &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                              # the result of a calculation with another pivot value. For example, if
+                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                              # pivot values are displayed as the percentage of the grand total. In
+                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                              # pivot table.
                         },
                       ],
-                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                        { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
-                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                              # This is only valid for row groupings and is ignored by columns.
-                              #
-                              # By default, we minimize repitition of headings by not showing higher
-                              # level headings where they are the same. For example, even though the
-                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                              # it is redundant with previous rows. Setting repeat_headings to true
-                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                              #
-                              #     +--------------+
-                              #     | Q1     | Jan |
-                              #     |        | Feb |
-                              #     |        | Mar |
-                              #     +--------+-----+
-                              #     | Q1 Total     |
-                              #     +--------------+
-                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                            { # Metadata about a value in a pivot grouping.
-                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                  # (Note that formulaValue is not valid,
-                                  #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            },
-                          ],
-                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                              #
-                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                              # means this group refers to column `C`, whereas the offset `1` would
-                              # refer to column `D`.
-                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                              # in the source data column rather than breaking out each individual value.
-                              # Only one PivotGroup with a group rule may be added for each column in
-                              # the source data, though on any given column you may add both a
-                              # PivotGroup that has a rule and a PivotGroup that does not.
-                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                                # buckets of a constant size. All values from HistogramRule.start to
-                                # HistogramRule.end are placed into groups of size
-                                # HistogramRule.interval. In addition, all values below
-                                # HistogramRule.start are placed in one group, and all values above
-                                # HistogramRule.end are placed in another. Only
-                                # HistogramRule.interval is required, though if HistogramRule.start
-                                # and HistogramRule.end are both provided, HistogramRule.start must
-                                # be less than HistogramRule.end. For example, a pivot table showing
-                                # average purchase amount by age that has 50+ rows:
-                                #
-                                #     +-----+-------------------+
-                                #     | Age | AVERAGE of Amount |
-                                #     +-----+-------------------+
-                                #     | 16  |            $27.13 |
-                                #     | 17  |             $5.24 |
-                                #     | 18  |            $20.15 |
-                                #     ...
-                                #     +-----+-------------------+
-                                # could be turned into a pivot table that looks like the one below by
-                                # applying a histogram group rule with a HistogramRule.start of 25,
-                                # an HistogramRule.interval of 20, and an HistogramRule.end
-                                # of 65.
-                                #
-                                #     +-------------+-------------------+
-                                #     | Grouped Age | AVERAGE of Amount |
-                                #     +-------------+-------------------+
-                                #     | &lt; 25        |            $19.34 |
-                                #     | 25-45       |            $31.43 |
-                                #     | 45-65       |            $35.87 |
-                                #     | &gt; 65        |            $27.55 |
-                                #     +-------------+-------------------+
-                                #     | Grand Total |            $29.12 |
-                                #     +-------------+-------------------+
-                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                  # of constant size. Values below start are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                  # of constant size. Values above end are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                            },
-                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                                # buckets based on selected parts of their date or time values. For example,
-                                # consider a pivot table showing sales transactions by date:
-                                #
-                                #     +----------+--------------+
-                                #     | Date     | SUM of Sales |
-                                #     +----------+--------------+
-                                #     | 1/1/2017 |      $621.14 |
-                                #     | 2/3/2017 |      $708.84 |
-                                #     | 5/8/2017 |      $326.84 |
-                                #     ...
-                                #     +----------+--------------+
-                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                                # results in the following pivot table.
-                                #
-                                #     +--------------+--------------+
-                                #     | Grouped Date | SUM of Sales |
-                                #     +--------------+--------------+
-                                #     | 2017-Jan     |   $53,731.78 |
-                                #     | 2017-Feb     |   $83,475.32 |
-                                #     | 2017-Mar     |   $94,385.05 |
-                                #     ...
-                                #     +--------------+--------------+
-                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                            },
-                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                                # buckets with names of your choosing. For example, a pivot table that
-                                # aggregates population by state:
-                                #
-                                #     +-------+-------------------+
-                                #     | State | SUM of Population |
-                                #     +-------+-------------------+
-                                #     | AK    |               0.7 |
-                                #     | AL    |               4.8 |
-                                #     | AR    |               2.9 |
-                                #     ...
-                                #     +-------+-------------------+
-                                # could be turned into a pivot table that aggregates population by time zone
-                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                                # Note that a similar effect could be achieved by adding a time zone column
-                                # to the source data and adjusting the pivot table.
-                                #
-                                #     +-----------+-------------------+
-                                #     | Time Zone | SUM of Population |
-                                #     +-----------+-------------------+
-                                #     | Central   |             106.3 |
-                                #     | Eastern   |             151.9 |
-                                #     | Mountain  |              17.4 |
-                                #     ...
-                                #     +-----------+-------------------+
-                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                  # that map to each group name.
-                                { # A group name and a list of items from the source data that should be placed
-                                    # in the group with this name.
-                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                      # item may be a string, number, or boolean. Items may appear in at most one
-                                      # group within a given ManualRule. Items that do not appear in any
-                                      # group will appear on their own.
-                                    { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                          # Leading single quotes are not included. For example, if the user typed
-                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                          # `&quot;123&quot;`.
-                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                          # Note: Dates, Times and DateTimes are represented as doubles in
-                                          # &quot;serial number&quot; format.
-                                    },
-                                  ],
-                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                      # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                },
-                              ],
-                            },
-                          },
-                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                              # example, in the following pivot table, the row label is `Region` (which
-                              # could be renamed to `State`) and the column label is `Product` (which
-                              # could be renamed `Item`). Pivot tables created before December 2017 do
-                              # not have header labels. If you&#x27;d like to add header labels to an existing
-                              # pivot table, please delete the existing pivot table and then create a new
-                              # pivot table with same parameters.
-                              #
-                              #     +--------------+---------+-------+
-                              #     | SUM of Units | Product |       |
-                              #     | Region       | Pen     | Paper |
-                              #     +--------------+---------+-------+
-                              #     | New York     |     345 |    98 |
-                              #     | Oregon       |     234 |   123 |
-                              #     | Tennessee    |     531 |   415 |
-                              #     +--------------+---------+-------+
-                              #     | Grand Total  |    1110 |   636 |
-                              #     +--------------+---------+-------+
-                        },
-                      ],
-                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                          # or vertically (as rows).
-                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                          #
-                          # The filters are applied before aggregating data into the pivot table.
-                          # The map&#x27;s key is the column offset of the source range that you want to
-                          # filter, and the value is the criteria for that column.
-                          #
-                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                          # for column `C`, whereas the key `1` is for column `D`.
-                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                            &quot;A String&quot;,
-                          ],
-                        },
-                      },
                     },
-                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                        # This is the value as it&#x27;s shown to the user.
-                        # This field is read-only.
                     &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                         # on user entered strings, not formulas, bools, or numbers.
                         # Runs start at specific indexes in the text and continue until the next
@@ -163997,6 +164047,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -164008,12 +164061,9 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
-                          &quot;bold&quot;: True or False, # True if the text is bold.
+                          &quot;italic&quot;: True or False, # True if the text is italicized.
                           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -164133,6 +164183,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -164144,11 +164197,8 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
-                          &quot;italic&quot;: True or False, # True if the text is italicized.
+                          &quot;bold&quot;: True or False, # True if the text is bold.
                           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         },
@@ -164159,13 +164209,6 @@
                         # the calculated value.  For cells with literals, this is
                         # the same as the user_entered_value.
                         # This field is read-only.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -164174,17 +164217,165 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
+                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                         # This includes the results of applying any conditional formatting and,
                         # if the cell contains a formula, the computed number format.
                         # If the effective format is the default format, effective format will
                         # not be written.
                         # This field is read-only.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -164193,6 +164384,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -164319,6 +164511,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -164330,9 +164525,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -164454,6 +164646,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -164465,9 +164660,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -164596,6 +164788,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -164607,9 +164802,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -164731,6 +164923,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -164742,9 +164937,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -164873,6 +165065,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -164884,9 +165079,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -165008,6 +165200,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -165019,9 +165214,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -165150,6 +165342,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -165161,9 +165356,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -165285,6 +165477,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -165296,9 +165491,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -165430,6 +165622,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -165441,12 +165636,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -165566,6 +165758,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -165577,35 +165772,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -165728,6 +165899,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -165739,161 +165913,177 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
-                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                         #
                         # When writing, the new format will be merged with the existing format.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -165902,6 +166092,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -166028,6 +166219,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -166039,9 +166233,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -166163,6 +166354,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -166174,9 +166368,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -166305,6 +166496,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -166316,9 +166510,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -166440,6 +166631,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -166451,9 +166645,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -166582,6 +166773,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -166593,9 +166787,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -166717,6 +166908,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -166728,9 +166922,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -166859,6 +167050,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -166870,9 +167064,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -166994,6 +167185,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -167005,9 +167199,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -167139,6 +167330,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -167150,12 +167344,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -167275,6 +167466,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -167286,35 +167480,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -167437,6 +167607,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -167448,163 +167621,33 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
                     &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # serial number format.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -167613,13 +167656,17 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
                     &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                         #
                         # When writing, the new data validation rule will overwrite any prior rule.
-                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                          # If true, &quot;List&quot; conditions will show a dropdown.
-                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                       &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                       &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                           # BooleanConditions are used by conditional formatting,
@@ -167646,6 +167693,9 @@
                         ],
                         &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                       },
+                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                          # If true, &quot;List&quot; conditions will show a dropdown.
+                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     },
                     &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                         # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -167658,7 +167708,6 @@
             &quot;rowMetadata&quot;: [ # Metadata about the requested rows in the grid, starting with the row
                 # in start_row.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -167690,33 +167739,200 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;startColumn&quot;: 42, # The first column this GridData refers to, zero-based.
             &quot;startRow&quot;: 42, # The first row this GridData refers to, zero-based.
           },
         ],
+        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
+            # by group depth.
+          { # A group over an interval of rows or columns on a sheet, which can contain or
+              # be contained within other groups. A group can be collapsed or expanded as a
+              # unit on the sheet.
+            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                # collapsed if an overlapping group at a shallower depth is expanded.
+                #
+                # A true value does not imply that all dimensions within the group are
+                # hidden, since a dimension&#x27;s visibility can change independently from this
+                # group property. However, when this property is updated, all dimensions
+                # within it are set to hidden if this field is true, or set to visible if
+                # this field is false.
+            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
+          },
+        ],
       },
     ],
     &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the spreadsheet.
         # This field is read-only.
     &quot;properties&quot;: { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
-      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
       &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
           # CellData.effectiveFormat will not be set if
           # the cell&#x27;s format is equal to this default format. This field is read-only.
+        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+            # When updating padding, every field must be specified.
+          &quot;bottom&quot;: 42, # The bottom padding of the cell.
+          &quot;left&quot;: 42, # The left padding of the cell.
+          &quot;top&quot;: 42, # The top padding of the cell.
+          &quot;right&quot;: 42, # The right padding of the cell.
+        },
+        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+            # for simplicity of conversion to/from color representations in various
+            # languages over compactness; for example, the fields of this representation
+            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+            # method in iOS; and, with just a little work, it can be easily formatted into
+            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+            #
+            # Note: this proto does not carry information about the absolute color space
+            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+            # space.
+            #
+            # Example (Java):
+            #
+            #      import com.google.type.Color;
+            #
+            #      // ...
+            #      public static java.awt.Color fromProto(Color protocolor) {
+            #        float alpha = protocolor.hasAlpha()
+            #            ? protocolor.getAlpha().getValue()
+            #            : 1.0;
+            #
+            #        return new java.awt.Color(
+            #            protocolor.getRed(),
+            #            protocolor.getGreen(),
+            #            protocolor.getBlue(),
+            #            alpha);
+            #      }
+            #
+            #      public static Color toProto(java.awt.Color color) {
+            #        float red = (float) color.getRed();
+            #        float green = (float) color.getGreen();
+            #        float blue = (float) color.getBlue();
+            #        float denominator = 255.0;
+            #        Color.Builder resultBuilder =
+            #            Color
+            #                .newBuilder()
+            #                .setRed(red / denominator)
+            #                .setGreen(green / denominator)
+            #                .setBlue(blue / denominator);
+            #        int alpha = color.getAlpha();
+            #        if (alpha != 255) {
+            #          result.setAlpha(
+            #              FloatValue
+            #                  .newBuilder()
+            #                  .setValue(((float) alpha) / denominator)
+            #                  .build());
+            #        }
+            #        return resultBuilder.build();
+            #      }
+            #      // ...
+            #
+            # Example (iOS / Obj-C):
+            #
+            #      // ...
+            #      static UIColor* fromProto(Color* protocolor) {
+            #         float red = [protocolor red];
+            #         float green = [protocolor green];
+            #         float blue = [protocolor blue];
+            #         FloatValue* alpha_wrapper = [protocolor alpha];
+            #         float alpha = 1.0;
+            #         if (alpha_wrapper != nil) {
+            #           alpha = [alpha_wrapper value];
+            #         }
+            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+            #      }
+            #
+            #      static Color* toProto(UIColor* color) {
+            #          CGFloat red, green, blue, alpha;
+            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+            #            return nil;
+            #          }
+            #          Color* result = [[Color alloc] init];
+            #          [result setRed:red];
+            #          [result setGreen:green];
+            #          [result setBlue:blue];
+            #          if (alpha &lt;= 0.9999) {
+            #            [result setAlpha:floatWrapperWithValue(alpha)];
+            #          }
+            #          [result autorelease];
+            #          return result;
+            #     }
+            #     // ...
+            #
+            #  Example (JavaScript):
+            #
+            #     // ...
+            #
+            #     var protoToCssColor = function(rgb_color) {
+            #        var redFrac = rgb_color.red || 0.0;
+            #        var greenFrac = rgb_color.green || 0.0;
+            #        var blueFrac = rgb_color.blue || 0.0;
+            #        var red = Math.floor(redFrac * 255);
+            #        var green = Math.floor(greenFrac * 255);
+            #        var blue = Math.floor(blueFrac * 255);
+            #
+            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+            #           return rgbToCssColor_(red, green, blue);
+            #        }
+            #
+            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+            #     };
+            #
+            #     var rgbToCssColor_ = function(red, green, blue) {
+            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+            #       var hexString = rgbNumber.toString(16);
+            #       var missingZeros = 6 - hexString.length;
+            #       var resultBuilder = [&#x27;#&#x27;];
+            #       for (var i = 0; i &lt; missingZeros; i++) {
+            #          resultBuilder.push(&#x27;0&#x27;);
+            #       }
+            #       resultBuilder.push(hexString);
+            #       return resultBuilder.join(&#x27;&#x27;);
+            #     };
+            #
+            #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+              # the final pixel color is defined by the equation:
+              #
+              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              #
+              # This means that a value of 1.0 corresponds to a solid color, whereas
+              # a value of 0.0 corresponds to a completely transparent color. This
+              # uses a wrapper message rather than a simple float scalar so that it is
+              # possible to distinguish between a default value and the value being unset.
+              # If omitted, this color object is to be rendered as a solid color
+              # (as if the alpha value had been explicitly given with a value of 1.0).
+        },
         &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
         &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
         &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
               # the user&#x27;s locale will be used if necessary for the given type.
@@ -167725,6 +167941,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
               # When writing, this field must be set.
         },
+        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
           &quot;left&quot;: { # A border along a cell. # The left border of the cell.
             &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -167851,6 +168068,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -167862,9 +168082,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -167986,6 +168203,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -167997,9 +168217,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -168128,6 +168345,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -168139,9 +168359,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -168263,6 +168480,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -168274,9 +168494,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -168405,6 +168622,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -168416,9 +168636,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -168540,6 +168757,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -168551,9 +168771,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -168682,6 +168899,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -168693,9 +168913,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -168817,6 +169034,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -168828,9 +169048,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -168962,6 +169179,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -168973,12 +169193,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
-          &quot;bold&quot;: True or False, # True if the text is bold.
+          &quot;italic&quot;: True or False, # True if the text is italicized.
           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -169098,6 +169315,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -169109,35 +169329,11 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
-          &quot;italic&quot;: True or False, # True if the text is italicized.
+          &quot;bold&quot;: True or False, # True if the text is bold.
           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         },
-        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-              # Measured in degrees. Valid values are between -90 and 90. Positive
-              # angles are angled upwards, negative are angled downwards.
-              #
-              # Note: For LTR text direction positive angles are in the
-              # counterclockwise direction, whereas for RTL they are in the clockwise
-              # direction
-          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-              # characters is unchanged.
-              # For example:
-              #
-              #     | V |
-              #     | e |
-              #     | r |
-              #     | t |
-              #     | i |
-              #     | c |
-              #     | a |
-              #     | l |
-        },
         &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
             # If background_color is also set, this field takes precedence.
           &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -169260,6 +169456,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -169271,154 +169470,34 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
         },
-        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-            # When updating padding, every field must be specified.
-          &quot;right&quot;: 42, # The right padding of the cell.
-          &quot;bottom&quot;: 42, # The bottom padding of the cell.
-          &quot;left&quot;: 42, # The left padding of the cell.
-          &quot;top&quot;: 42, # The top padding of the cell.
-        },
-        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-            # for simplicity of conversion to/from color representations in various
-            # languages over compactness; for example, the fields of this representation
-            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-            # method in iOS; and, with just a little work, it can be easily formatted into
-            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-            #
-            # Note: this proto does not carry information about the absolute color space
-            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-            # space.
-            #
-            # Example (Java):
-            #
-            #      import com.google.type.Color;
-            #
-            #      // ...
-            #      public static java.awt.Color fromProto(Color protocolor) {
-            #        float alpha = protocolor.hasAlpha()
-            #            ? protocolor.getAlpha().getValue()
-            #            : 1.0;
-            #
-            #        return new java.awt.Color(
-            #            protocolor.getRed(),
-            #            protocolor.getGreen(),
-            #            protocolor.getBlue(),
-            #            alpha);
-            #      }
-            #
-            #      public static Color toProto(java.awt.Color color) {
-            #        float red = (float) color.getRed();
-            #        float green = (float) color.getGreen();
-            #        float blue = (float) color.getBlue();
-            #        float denominator = 255.0;
-            #        Color.Builder resultBuilder =
-            #            Color
-            #                .newBuilder()
-            #                .setRed(red / denominator)
-            #                .setGreen(green / denominator)
-            #                .setBlue(blue / denominator);
-            #        int alpha = color.getAlpha();
-            #        if (alpha != 255) {
-            #          result.setAlpha(
-            #              FloatValue
-            #                  .newBuilder()
-            #                  .setValue(((float) alpha) / denominator)
-            #                  .build());
-            #        }
-            #        return resultBuilder.build();
-            #      }
-            #      // ...
-            #
-            # Example (iOS / Obj-C):
-            #
-            #      // ...
-            #      static UIColor* fromProto(Color* protocolor) {
-            #         float red = [protocolor red];
-            #         float green = [protocolor green];
-            #         float blue = [protocolor blue];
-            #         FloatValue* alpha_wrapper = [protocolor alpha];
-            #         float alpha = 1.0;
-            #         if (alpha_wrapper != nil) {
-            #           alpha = [alpha_wrapper value];
-            #         }
-            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-            #      }
-            #
-            #      static Color* toProto(UIColor* color) {
-            #          CGFloat red, green, blue, alpha;
-            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-            #            return nil;
-            #          }
-            #          Color* result = [[Color alloc] init];
-            #          [result setRed:red];
-            #          [result setGreen:green];
-            #          [result setBlue:blue];
-            #          if (alpha &lt;= 0.9999) {
-            #            [result setAlpha:floatWrapperWithValue(alpha)];
-            #          }
-            #          [result autorelease];
-            #          return result;
-            #     }
-            #     // ...
-            #
-            #  Example (JavaScript):
-            #
-            #     // ...
-            #
-            #     var protoToCssColor = function(rgb_color) {
-            #        var redFrac = rgb_color.red || 0.0;
-            #        var greenFrac = rgb_color.green || 0.0;
-            #        var blueFrac = rgb_color.blue || 0.0;
-            #        var red = Math.floor(redFrac * 255);
-            #        var green = Math.floor(greenFrac * 255);
-            #        var blue = Math.floor(blueFrac * 255);
-            #
-            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-            #           return rgbToCssColor_(red, green, blue);
-            #        }
-            #
-            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-            #     };
-            #
-            #     var rgbToCssColor_ = function(red, green, blue) {
-            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-            #       var hexString = rgbNumber.toString(16);
-            #       var missingZeros = 6 - hexString.length;
-            #       var resultBuilder = [&#x27;#&#x27;];
-            #       for (var i = 0; i &lt; missingZeros; i++) {
-            #          resultBuilder.push(&#x27;0&#x27;);
-            #       }
-            #       resultBuilder.push(hexString);
-            #       return resultBuilder.join(&#x27;&#x27;);
-            #     };
-            #
-            #     // ...
-          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-              # the final pixel color is defined by the equation:
+        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+              # Measured in degrees. Valid values are between -90 and 90. Positive
+              # angles are angled upwards, negative are angled downwards.
               #
-              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              # Note: For LTR text direction positive angles are in the
+              # counterclockwise direction, whereas for RTL they are in the clockwise
+              # direction
+          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+              # characters is unchanged.
+              # For example:
               #
-              # This means that a value of 1.0 corresponds to a solid color, whereas
-              # a value of 0.0 corresponds to a completely transparent color. This
-              # uses a wrapper message rather than a simple float scalar so that it is
-              # possible to distinguish between a default value and the value being unset.
-              # If omitted, this color object is to be rendered as a solid color
-              # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              #     | V |
+              #     | e |
+              #     | r |
+              #     | t |
+              #     | i |
+              #     | c |
+              #     | a |
+              #     | l |
         },
       },
       &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
       &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
           # calculation.  Absence of this field means that circular references result
           # in calculation errors.
@@ -169428,9 +169507,6 @@
         &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
             # less than this threshold value, the calculation rounds stop.
       },
-      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-          # be a custom time zone such as `GMT-07:00`.
       &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
         &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
         &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -169559,6 +169635,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -169570,9 +169649,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           },
@@ -169587,84 +169663,8 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
+      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
     },
-    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
-      { # A named range.
-        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-        &quot;range&quot;: { # A range on a sheet. # The range this represents.
-            # All indexes are zero-based.
-            # Indexes are half open, e.g the start index is inclusive
-            # and the end index is exclusive -- [start_index, end_index).
-            # Missing indexes indicate the range is unbounded on that side.
-            #
-            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-            #
-            #   `Sheet1!A1:A1 == sheet_id: 0,
-            #                   start_row_index: 0, end_row_index: 1,
-            #                   start_column_index: 0, end_column_index: 1`
-            #
-            #   `Sheet1!A3:B4 == sheet_id: 0,
-            #                   start_row_index: 2, end_row_index: 4,
-            #                   start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A:B == sheet_id: 0,
-            #                 start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A5:B == sheet_id: 0,
-            #                  start_row_index: 4,
-            #                  start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1 == sheet_id:0`
-            #
-            # The start index must always be less than or equal to the end index.
-            # If the start index equals the end index, then the range is empty.
-            # Empty ranges are typically not meaningful and are usually rendered in the
-            # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-          &quot;sheetId&quot;: 42, # The sheet this range is on.
-          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-      },
-    ],
-    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
-      { # Developer metadata associated with a location or object in a spreadsheet.
-          # Developer metadata may be used to associate arbitrary data with various
-          # parts of a spreadsheet and will remain associated at those locations as they
-          # move around and the spreadsheet is edited.  For example, if developer
-          # metadata is associated with row 5 and another row is then subsequently
-          # inserted above row 5, that original metadata will still be associated with
-          # the row it was first associated with (what is now row 6). If the associated
-          # object is deleted its metadata is deleted too.
-        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-            # same key.  Developer metadata must always have a key specified.
-        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-            # specified.
-        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-            # specified when metadata is created, otherwise one will be randomly
-            # generated and assigned. Must be positive.
-        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-              # a dimension. The specified DimensionRange must represent a single row
-              # or column; it cannot be unbounded or span multiple rows or columns.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-      },
-    ],
   }</pre>
 </div>
 
@@ -169705,6 +169705,68 @@
         # the spreadsheet.
       { # Filter that describes what data should be selected or returned from a
           # request.
+        &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
+            # described by this DeveloperMetadataLookup.
+            # example, if only a metadata ID is specified this considers the
+            # DeveloperMetadata with that particular unique ID. If a metadata key is
+            # specified, this considers all developer metadata with that key.  If a
+            # key, visibility, and location type are all specified, this considers all
+            # developer metadata with that key and visibility that are associated with a
+            # location of that type.  In general, this
+            # selects all DeveloperMetadata that matches the intersection of all the
+            # specified fields; any field or combination of fields may be specified.
+          &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
+              # associated with locations of the specified type.  For example, when this
+              # field is specified as ROW this lookup
+              # only considers developer metadata associated on rows.  If the field is left
+              # unspecified, all location types are considered.  This field cannot be
+              # specified as SPREADSHEET when
+              # the locationMatchingStrategy
+              # is specified as INTERSECTING or when the
+              # metadataLocation is specified as a
+              # non-spreadsheet location: spreadsheet metadata cannot intersect any other
+              # developer metadata location.  This field also must be left unspecified when
+              # the locationMatchingStrategy
+              # is specified as EXACT.
+          &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+              # DeveloperMetadata.metadata_key.
+          &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
+              # specified as EXACT, only developer metadata associated on the exact
+              # location specified is matched.  If this field is specified to INTERSECTING,
+              # developer metadata associated on intersecting locations is also
+              # matched.  If left unspecified, this field assumes a default value of
+              # INTERSECTING.
+              # If this field is specified, a metadataLocation
+              # must also be specified.
+          &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
+              # the specified location.  This field either matches exact locations or all
+              # intersecting locations according the specified
+              # locationMatchingStrategy.
+            &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+            &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+            &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+                # a dimension. The specified DimensionRange must represent a single row
+                # or column; it cannot be unbounded or span multiple rows or columns.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+          },
+          &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
+              # DeveloperMetadata.metadata_id.
+          &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+              # DeveloperMetadata.visibility.  If left unspecified, all developer
+              # metadata visibile to the requesting project is considered.
+          &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
+              # DeveloperMetadata.metadata_value.
+        },
+        &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
         &quot;gridRange&quot;: { # A range on a sheet. # Selects data that matches the range described by the GridRange.
             # All indexes are zero-based.
             # Indexes are half open, e.g the start index is inclusive
@@ -169734,74 +169796,12 @@
             # If the start index equals the end index, then the range is empty.
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           &quot;sheetId&quot;: 42, # The sheet this range is on.
           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
         },
-        &quot;developerMetadataLookup&quot;: { # Selects DeveloperMetadata that matches all of the specified fields.  For # Selects data associated with the developer metadata matching the criteria
-            # described by this DeveloperMetadataLookup.
-            # example, if only a metadata ID is specified this considers the
-            # DeveloperMetadata with that particular unique ID. If a metadata key is
-            # specified, this considers all developer metadata with that key.  If a
-            # key, visibility, and location type are all specified, this considers all
-            # developer metadata with that key and visibility that are associated with a
-            # location of that type.  In general, this
-            # selects all DeveloperMetadata that matches the intersection of all the
-            # specified fields; any field or combination of fields may be specified.
-          &quot;metadataLocation&quot;: { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with
-              # the specified location.  This field either matches exact locations or all
-              # intersecting locations according the specified
-              # locationMatchingStrategy.
-            &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-            &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-            &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-            &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-                # a dimension. The specified DimensionRange must represent a single row
-                # or column; it cannot be unbounded or span multiple rows or columns.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-          &quot;metadataId&quot;: 42, # Limits the selected developer metadata to that which has a matching
-              # DeveloperMetadata.metadata_id.
-          &quot;visibility&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-              # DeveloperMetadata.visibility.  If left unspecified, all developer
-              # metadata visibile to the requesting project is considered.
-          &quot;metadataValue&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-              # DeveloperMetadata.metadata_value.
-          &quot;locationType&quot;: &quot;A String&quot;, # Limits the selected developer metadata to those entries which are
-              # associated with locations of the specified type.  For example, when this
-              # field is specified as ROW this lookup
-              # only considers developer metadata associated on rows.  If the field is left
-              # unspecified, all location types are considered.  This field cannot be
-              # specified as SPREADSHEET when
-              # the locationMatchingStrategy
-              # is specified as INTERSECTING or when the
-              # metadataLocation is specified as a
-              # non-spreadsheet location: spreadsheet metadata cannot intersect any other
-              # developer metadata location.  This field also must be left unspecified when
-              # the locationMatchingStrategy
-              # is specified as EXACT.
-          &quot;locationMatchingStrategy&quot;: &quot;A String&quot;, # Determines how this lookup matches the location.  If this field is
-              # specified as EXACT, only developer metadata associated on the exact
-              # location specified is matched.  If this field is specified to INTERSECTING,
-              # developer metadata associated on intersecting locations is also
-              # matched.  If left unspecified, this field assumes a default value of
-              # INTERSECTING.
-              # If this field is specified, a metadataLocation
-              # must also be specified.
-          &quot;metadataKey&quot;: &quot;A String&quot;, # Limits the selected developer metadata to that which has a matching
-              # DeveloperMetadata.metadata_key.
-        },
-        &quot;a1Range&quot;: &quot;A String&quot;, # Selects data that matches the specified A1 range.
       },
     ],
   }
@@ -169815,44 +169815,92 @@
   An object of the form:
 
     { # Resource that represents a spreadsheet.
+    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
+      { # A named range.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
+        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
+        &quot;range&quot;: { # A range on a sheet. # The range this represents.
+            # All indexes are zero-based.
+            # Indexes are half open, e.g the start index is inclusive
+            # and the end index is exclusive -- [start_index, end_index).
+            # Missing indexes indicate the range is unbounded on that side.
+            #
+            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+            #
+            #   `Sheet1!A1:A1 == sheet_id: 0,
+            #                   start_row_index: 0, end_row_index: 1,
+            #                   start_column_index: 0, end_column_index: 1`
+            #
+            #   `Sheet1!A3:B4 == sheet_id: 0,
+            #                   start_row_index: 2, end_row_index: 4,
+            #                   start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A:B == sheet_id: 0,
+            #                 start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1!A5:B == sheet_id: 0,
+            #                  start_row_index: 4,
+            #                  start_column_index: 0, end_column_index: 2`
+            #
+            #   `Sheet1 == sheet_id:0`
+            #
+            # The start index must always be less than or equal to the end index.
+            # If the start index equals the end index, then the range is empty.
+            # Empty ranges are typically not meaningful and are usually rendered in the
+            # UI as `#REF!`.
+          &quot;sheetId&quot;: 42, # The sheet this range is on.
+          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+        },
+      },
+    ],
+    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
+      { # Developer metadata associated with a location or object in a spreadsheet.
+          # Developer metadata may be used to associate arbitrary data with various
+          # parts of a spreadsheet and will remain associated at those locations as they
+          # move around and the spreadsheet is edited.  For example, if developer
+          # metadata is associated with row 5 and another row is then subsequently
+          # inserted above row 5, that original metadata will still be associated with
+          # the row it was first associated with (what is now row 6). If the associated
+          # object is deleted its metadata is deleted too.
+        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
+            # same key.  Developer metadata must always have a key specified.
+        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
+        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
+            # specified.
+        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
+            # specified when metadata is created, otherwise one will be randomly
+            # generated and assigned. Must be positive.
+        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
+          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
+          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
+          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
+              # a dimension. The specified DimensionRange must represent a single row
+              # or column; it cannot be unbounded or span multiple rows or columns.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+            &quot;sheetId&quot;: 42, # The sheet this span is on.
+            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+          },
+        },
+      },
+    ],
     &quot;spreadsheetUrl&quot;: &quot;A String&quot;, # The url of the spreadsheet.
         # This field is read-only.
     &quot;sheets&quot;: [ # The sheets that are part of a spreadsheet.
       { # A sheet in a spreadsheet.
-        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
-            # by group depth.
-          { # A group over an interval of rows or columns on a sheet, which can contain or
-              # be contained within other groups. A group can be collapsed or expanded as a
-              # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
-            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
-                # collapsed if an overlapping group at a shallower depth is expanded.
-                #
-                # A true value does not imply that all dimensions within the group are
-                # hidden, since a dimension&#x27;s visibility can change independently from this
-                # group property. However, when this property is updated, all dimensions
-                # within it are set to hidden if this field is true, or set to visible if
-                # this field is false.
-            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
-                # All indexes are zero-based.
-                # Indexes are half open: the start index is inclusive
-                # and the end index is exclusive.
-                # Missing indexes indicate the range is unbounded on that side.
-              &quot;sheetId&quot;: 42, # The sheet this span is on.
-              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-            },
-          },
-        ],
         &quot;columnGroups&quot;: [ # All column groups on this sheet, ordered by increasing range start index,
             # then by group depth.
           { # A group over an interval of rows or columns on a sheet, which can contain or
               # be contained within other groups. A group can be collapsed or expanded as a
               # unit on the sheet.
-            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
-                # wholly contains the range of this group.
             &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
                 # collapsed if an overlapping group at a shallower depth is expanded.
                 #
@@ -169866,17 +169914,193 @@
                 # Indexes are half open: the start index is inclusive
                 # and the end index is exclusive.
                 # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               &quot;sheetId&quot;: 42, # The sheet this span is on.
               &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
               &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
             },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
           },
         ],
         &quot;slicers&quot;: [ # The slicers on this sheet.
           { # A slicer in a sheet.
             &quot;slicerId&quot;: 42, # The ID of the slicer.
             &quot;spec&quot;: { # The specifications of a slicer. # The specification of the slicer.
+              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
+                  # If not set, default to `True`.
+              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                  #
+                  #   `Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1`
+                  #
+                  #   `Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2`
+                  #
+                  #   `Sheet1 == sheet_id:0`
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                &quot;sheetId&quot;: 42, # The sheet this range is on.
+                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+              },
+              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
+              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
+                  # If unspecified, defaults to `LEFT`
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;filterCriteria&quot;: { # Criteria for showing/hiding rows in a filter or filter view. # The filtering criteria of the slicer.
                 &quot;visibleBackgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background fill color to filter by; only cells with this fill color are
                     # shown. Mutually exclusive with visible_foreground_color.
@@ -169998,6 +170222,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -170009,9 +170236,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -170160,6 +170384,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -170171,9 +170398,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -170299,6 +170523,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -170310,9 +170537,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -170439,6 +170663,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -170450,9 +170677,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -170585,6 +170809,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -170596,12 +170823,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -170721,6 +170945,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -170732,11 +170959,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -170863,6 +171087,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -170874,190 +171101,16 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;applyToPivotTables&quot;: True or False, # True if the filter should apply to pivot tables.
-                  # If not set, default to `True`.
-              &quot;dataRange&quot;: { # A range on a sheet. # The data range of the slicer.
-                  # All indexes are zero-based.
-                  # Indexes are half open, e.g the start index is inclusive
-                  # and the end index is exclusive -- [start_index, end_index).
-                  # Missing indexes indicate the range is unbounded on that side.
-                  #
-                  # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                  #
-                  #   `Sheet1!A1:A1 == sheet_id: 0,
-                  #                   start_row_index: 0, end_row_index: 1,
-                  #                   start_column_index: 0, end_column_index: 1`
-                  #
-                  #   `Sheet1!A3:B4 == sheet_id: 0,
-                  #                   start_row_index: 2, end_row_index: 4,
-                  #                   start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A:B == sheet_id: 0,
-                  #                 start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1!A5:B == sheet_id: 0,
-                  #                  start_row_index: 4,
-                  #                  start_column_index: 0, end_column_index: 2`
-                  #
-                  #   `Sheet1 == sheet_id:0`
-                  #
-                  # The start index must always be less than or equal to the end index.
-                  # If the start index equals the end index, then the range is empty.
-                  # Empty ranges are typically not meaningful and are usually rendered in the
-                  # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                &quot;sheetId&quot;: 42, # The sheet this range is on.
-                &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-              },
-              &quot;columnIndex&quot;: 42, # The column index in the data table on which the filter is applied to.
-              &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer.
-                  # If unspecified, defaults to `LEFT`
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the slicer.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
             },
             &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the slicer. Note that slicer can be positioned only on
                 # existing sheet. Also, width and height of slicer can be automatically
                 # adjusted to keep it within permitted limits.
               &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
                 &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
                     # All indexes are zero-based.
                   &quot;columnIndex&quot;: 42, # The column index of the coordinate.
@@ -171067,9 +171120,6 @@
                 &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
                 &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
               },
               &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
                   # is chosen for you. Used only when writing.
@@ -171106,16 +171156,17 @@
                   # Indexes are half open: the start index is inclusive
                   # and the end index is exclusive.
                   # Missing indexes indicate the range is unbounded on that side.
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                 &quot;sheetId&quot;: 42, # The sheet this span is on.
                 &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                 &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
               },
             },
           },
         ],
         &quot;filterViews&quot;: [ # The filter views in this sheet.
           { # A filter view.
+            &quot;filterViewId&quot;: 42, # The ID of the filter view.
             &quot;criteria&quot;: { # The criteria for showing/hiding values per column.
                 # The map&#x27;s key is the column index, and the value is the criteria for
                 # that column.
@@ -171240,6 +171291,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -171251,9 +171305,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                     # (This does not override hidden_values -- if a value is listed there,
@@ -171402,6 +171453,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -171413,9 +171467,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                     # shown. This field is mutually exclusive with visible_foreground_color,
@@ -171541,6 +171592,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -171552,9 +171606,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -171681,6 +171732,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -171692,9 +171746,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -171829,6 +171880,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -171840,9 +171894,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                     # to the top. Mutually exclusive with foreground_color, and must be an
@@ -171968,6 +172019,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -171979,9 +172033,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -172110,6 +172161,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -172121,9 +172175,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -172246,6 +172297,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -172257,9 +172311,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
             ],
@@ -172296,17 +172347,37 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;filterViewId&quot;: 42, # The ID of the filter view.
           },
         ],
         &quot;charts&quot;: [ # The specifications of every chart on this sheet.
           { # A chart embedded in a sheet.
+            &quot;chartId&quot;: 42, # The ID of the chart.
+            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
+              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
+                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
+                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
+                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                },
+                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
+                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+              },
+              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+            },
             &quot;spec&quot;: { # The specifications of a chart. # The specification of the chart.
               &quot;candlestickChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/candlestickchart&quot;&gt;candlestick # A candlestick chart specification.
                   # chart&lt;/a&gt;.
@@ -172366,11 +172437,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -172427,11 +172498,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -172489,11 +172560,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -172550,11 +172621,11 @@
                                 # If the start index equals the end index, then the range is empty.
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
-                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                               &quot;sheetId&quot;: 42, # The sheet this range is on.
                               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -172615,11 +172686,11 @@
                             # If the start index equals the end index, then the range is empty.
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           &quot;sheetId&quot;: 42, # The sheet this range is on.
                           &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                           &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -172761,6 +172832,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -172772,9 +172846,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;data&quot;: { # The data included in a domain or series. # The data for this histogram series.
@@ -172826,11 +172897,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -172955,6 +173026,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -172966,9 +173040,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 ],
@@ -172985,142 +173056,254 @@
                     # be added to the first or last buckets instead of their own buckets.
                     # Must be between 0.0 and 0.5.
               },
-              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
-                  # Not applicable to Org charts.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;treemapChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/treemap&quot;&gt;Treemap chart&lt;/a&gt;. # A treemap chart specification.
+                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual minimum value from color_data, or the minimum value from
+                    # size_data if color_data is not specified.
+                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
+                    # have the same color as cells with this value. If not specified, defaults
+                    # to the actual maximum value from color_data, or the maximum value from
+                    # size_data if color_data is not specified.
+                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
+                    # This field is optional. If not specified, size_data is used to
+                    # determine background colors. If specified, the data is expected to be
+                    # numeric. color_scale will determine how the values in this data map to
+                    # data cell background colors.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
+                    # expected to be numeric. The cells corresponding to non-numeric or missing
+                    # data will not be rendered. If color_data is not specified, this data
+                    # is used to determine data cell background colors as well.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
                 &quot;hintedLevels&quot;: 42, # The number of additional data levels beyond the labeled levels to be shown
                     # on the treemap chart. These levels are not interactive and are shown
                     # without their labels. Defaults to 0 if not specified.
@@ -173254,6 +173437,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -173265,12 +173451,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -173390,6 +173573,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -173401,11 +173587,8 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
@@ -173425,6 +173608,146 @@
                     # Cells with missing or non-numeric color values will have
                     # noDataColor as their background
                     # color.
+                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
+                      # to maxValue. Defaults to #109618 if not
+                      # specified.
+                      # If max_value_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
                   &quot;noDataColorStyle&quot;: { # A color value. # The background color for cells that have no color data associated with
                       # them. Defaults to #000000 if not specified.
                       # If no_data_color is also set, this field takes precedence.
@@ -173548,6 +173871,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -173559,9 +173885,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;minValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value less than or equal to
@@ -173685,6 +174008,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -173696,9 +174022,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;minValueColorStyle&quot;: { # A color value. # The background color for cells with a color value less than or equal to
                       # minValue. Defaults to #dc3912 if not
@@ -173824,6 +174147,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -173835,9 +174161,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                   &quot;midValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value at the midpoint between
@@ -173962,6 +174285,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -173973,144 +174299,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
-                      # them. Defaults to #000000 if not specified.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                   &quot;maxValueColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells with a color value greater than or equal
                       # to maxValue. Defaults to #109618 if not
@@ -174233,6 +174421,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -174244,9 +174435,141 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;noDataColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color for cells that have no color data associated with
+                      # them. Defaults to #000000 if not specified.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
                     &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
                     &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
                   },
                   &quot;midValueColorStyle&quot;: { # A color value. # The background color for cells with a color value at the midpoint between
                       # minValue and
@@ -174373,6 +174696,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -174384,149 +174710,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;maxValueColorStyle&quot;: { # A color value. # The background color for cells with a color value greater than or equal
-                      # to maxValue. Defaults to #109618 if not
-                      # specified.
-                      # If max_value_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
                 },
@@ -174649,6 +174832,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -174660,9 +174846,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;headerColorStyle&quot;: { # A color value. # The background color for header cells.
                     # If header_color is also set, this field takes precedence.
@@ -174786,6 +174969,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -174797,334 +174983,469 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;minValue&quot;: 3.14, # The minimum possible data value. Cells with values less than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual minimum value from color_data, or the minimum value from
-                    # size_data if color_data is not specified.
-                &quot;maxValue&quot;: 3.14, # The maximum possible data value. Cells with values greater than this will
-                    # have the same color as cells with this value. If not specified, defaults
-                    # to the actual maximum value from color_data, or the maximum value from
-                    # size_data if color_data is not specified.
-                &quot;colorData&quot;: { # The data included in a domain or series. # The data that determines the background color of each treemap data cell.
-                    # This field is optional. If not specified, size_data is used to
-                    # determine background colors. If specified, the data is expected to be
-                    # numeric. color_scale will determine how the values in this data map to
-                    # data cell background colors.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;labels&quot;: { # The data included in a domain or series. # The data that contains the treemap cell labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data the contains the treemap cells&#x27; parent labels.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;sizeData&quot;: { # The data included in a domain or series. # The data that determines the size of each treemap data cell. This data is
-                    # expected to be numeric. The cells corresponding to non-numeric or missing
-                    # data will not be rendered. If color_data is not specified, this data
-                    # is used to determine data cell background colors as well.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
+              },
+              &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the entire chart.
+                  # Not applicable to Org charts.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
               },
               &quot;basicChart&quot;: { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
                   # See BasicChartType for the list of all
                   # charts this supports.
                   # of charts this supports.
+                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
+                    # Applies to Line charts.
+                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
+                    # chart area.
+                &quot;axis&quot;: [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
+                        # values in an axis).
+                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a maximum value that looks good for the data.
+                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
+                          # automatically determine a minimum value that looks good for the data.
+                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
+                    },
+                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
+                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn&#x27;t specified.
+                      &quot;fontSize&quot;: 42, # The size of the font.
+                      &quot;underline&quot;: True or False, # True if the text is underlined.
+                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
+                          # If foreground_color is also set, this field takes precedence.
+                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                            #
+                            # Note: this proto does not carry information about the absolute color space
+                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                            # space.
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [[Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha &lt;= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = [&#x27;#&#x27;];
+                            #       for (var i = 0; i &lt; missingZeros; i++) {
+                            #          resultBuilder.push(&#x27;0&#x27;);
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join(&#x27;&#x27;);
+                            #     };
+                            #
+                            #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                        },
+                      },
+                      &quot;italic&quot;: True or False, # True if the text is italicized.
+                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
+                      &quot;bold&quot;: True or False, # True if the text is bold.
+                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
+                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
+                    },
+                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
+                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                    },
+                  },
+                ],
+                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
+                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
+                    # segments of lines in a line chart will be missing).  To eliminate these
+                    # gaps set this to true.
+                    # Applies to Line, Area, and Combo charts.
                 &quot;series&quot;: [ # The data this chart is visualizing.
                   { # A single series of data in a chart.
                       # For example, if charting stock prices over time, multiple series may exist,
                       # one for the &quot;Open Price&quot;, &quot;High Price&quot;, &quot;Low Price&quot; and &quot;Close Price&quot;.
-                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
-                        # chartType is AREA,
-                        # LINE, or SCATTER.
-                        # COMBO charts are also supported if the
-                        # series chart type is
-                        # AREA or LINE.
-                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                      &quot;width&quot;: 42, # The thickness of the line, in px.
-                    },
                     &quot;colorStyle&quot;: { # A color value. # The color for elements (such as bars, lines, and points) associated with
                         # this series.  If empty, a default color is used.
                         # If color is also set, this field takes precedence.
@@ -175248,6 +175569,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -175259,9 +175583,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;targetAxis&quot;: &quot;A String&quot;, # The minor axis that will specify the range of values for this series.
@@ -175397,6 +175718,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -175408,9 +175732,73 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    },
+                    &quot;series&quot;: { # The data included in a domain or series. # The data being visualized in this chart series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;lineStyle&quot;: { # Properties that describe the style of a line. # The line style of this series. Valid only if the
+                        # chartType is AREA,
+                        # LINE, or SCATTER.
+                        # COMBO charts are also supported if the
+                        # series chart type is
+                        # AREA or LINE.
+                      &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                      &quot;width&quot;: 42, # The thickness of the line, in px.
                     },
                   },
                 ],
@@ -175473,11 +175861,11 @@
                               # If the start index equals the end index, then the range is empty.
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                             &quot;sheetId&quot;: 42, # The sheet this range is on.
                             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -175485,473 +175873,10 @@
                     &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
                   },
                 ],
-                &quot;lineSmoothing&quot;: True or False, # Gets whether all lines should be rendered smooth or straight by default.
-                    # Applies to Line charts.
-                &quot;headerCount&quot;: 42, # The number of rows or columns in the data that are &quot;headers&quot;.
-                    # If not set, Google Sheets will guess how many rows are headers based
-                    # on the data.
-                    #
-                    # (Note that BasicChartAxis.title may override the axis title
-                    #  inferred from the header values.)
-                &quot;compareMode&quot;: &quot;A String&quot;, # The behavior of tooltips and data highlighting when hovering on data and
-                    # chart area.
-                &quot;axis&quot;: [ # The axis on the chart.
-                  { # An axis of the chart.
-                      # A chart may not have more than one axis per
-                      # axis position.
-                    &quot;title&quot;: &quot;A String&quot;, # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
-                    &quot;position&quot;: &quot;A String&quot;, # The position of this axis.
-                    &quot;format&quot;: { # The format of a run of text in a cell. # The format of the title.
-                        # Only valid if the axis is not associated with the domain.
-                        # Absent values indicate that the field isn&#x27;t specified.
-                      &quot;fontSize&quot;: 42, # The size of the font.
-                      &quot;underline&quot;: True or False, # True if the text is underlined.
-                      &quot;foregroundColorStyle&quot;: { # A color value. # The foreground color of the text.
-                          # If foreground_color is also set, this field takes precedence.
-                        &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                        &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                            # for simplicity of conversion to/from color representations in various
-                            # languages over compactness; for example, the fields of this representation
-                            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                            # method in iOS; and, with just a little work, it can be easily formatted into
-                            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                            #
-                            # Note: this proto does not carry information about the absolute color space
-                            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                            # space.
-                            #
-                            # Example (Java):
-                            #
-                            #      import com.google.type.Color;
-                            #
-                            #      // ...
-                            #      public static java.awt.Color fromProto(Color protocolor) {
-                            #        float alpha = protocolor.hasAlpha()
-                            #            ? protocolor.getAlpha().getValue()
-                            #            : 1.0;
-                            #
-                            #        return new java.awt.Color(
-                            #            protocolor.getRed(),
-                            #            protocolor.getGreen(),
-                            #            protocolor.getBlue(),
-                            #            alpha);
-                            #      }
-                            #
-                            #      public static Color toProto(java.awt.Color color) {
-                            #        float red = (float) color.getRed();
-                            #        float green = (float) color.getGreen();
-                            #        float blue = (float) color.getBlue();
-                            #        float denominator = 255.0;
-                            #        Color.Builder resultBuilder =
-                            #            Color
-                            #                .newBuilder()
-                            #                .setRed(red / denominator)
-                            #                .setGreen(green / denominator)
-                            #                .setBlue(blue / denominator);
-                            #        int alpha = color.getAlpha();
-                            #        if (alpha != 255) {
-                            #          result.setAlpha(
-                            #              FloatValue
-                            #                  .newBuilder()
-                            #                  .setValue(((float) alpha) / denominator)
-                            #                  .build());
-                            #        }
-                            #        return resultBuilder.build();
-                            #      }
-                            #      // ...
-                            #
-                            # Example (iOS / Obj-C):
-                            #
-                            #      // ...
-                            #      static UIColor* fromProto(Color* protocolor) {
-                            #         float red = [protocolor red];
-                            #         float green = [protocolor green];
-                            #         float blue = [protocolor blue];
-                            #         FloatValue* alpha_wrapper = [protocolor alpha];
-                            #         float alpha = 1.0;
-                            #         if (alpha_wrapper != nil) {
-                            #           alpha = [alpha_wrapper value];
-                            #         }
-                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                            #      }
-                            #
-                            #      static Color* toProto(UIColor* color) {
-                            #          CGFloat red, green, blue, alpha;
-                            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                            #            return nil;
-                            #          }
-                            #          Color* result = [[Color alloc] init];
-                            #          [result setRed:red];
-                            #          [result setGreen:green];
-                            #          [result setBlue:blue];
-                            #          if (alpha &lt;= 0.9999) {
-                            #            [result setAlpha:floatWrapperWithValue(alpha)];
-                            #          }
-                            #          [result autorelease];
-                            #          return result;
-                            #     }
-                            #     // ...
-                            #
-                            #  Example (JavaScript):
-                            #
-                            #     // ...
-                            #
-                            #     var protoToCssColor = function(rgb_color) {
-                            #        var redFrac = rgb_color.red || 0.0;
-                            #        var greenFrac = rgb_color.green || 0.0;
-                            #        var blueFrac = rgb_color.blue || 0.0;
-                            #        var red = Math.floor(redFrac * 255);
-                            #        var green = Math.floor(greenFrac * 255);
-                            #        var blue = Math.floor(blueFrac * 255);
-                            #
-                            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                            #           return rgbToCssColor_(red, green, blue);
-                            #        }
-                            #
-                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     var rgbToCssColor_ = function(red, green, blue) {
-                            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                            #       var hexString = rgbNumber.toString(16);
-                            #       var missingZeros = 6 - hexString.length;
-                            #       var resultBuilder = [&#x27;#&#x27;];
-                            #       for (var i = 0; i &lt; missingZeros; i++) {
-                            #          resultBuilder.push(&#x27;0&#x27;);
-                            #       }
-                            #       resultBuilder.push(hexString);
-                            #       return resultBuilder.join(&#x27;&#x27;);
-                            #     };
-                            #
-                            #     // ...
-                          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                              # the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color. This
-                              # uses a wrapper message rather than a simple float scalar so that it is
-                              # possible to distinguish between a default value and the value being unset.
-                              # If omitted, this color object is to be rendered as a solid color
-                              # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                        },
-                      },
-                      &quot;bold&quot;: True or False, # True if the text is bold.
-                      &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                      },
-                      &quot;italic&quot;: True or False, # True if the text is italicized.
-                      &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
-                      &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
-                    },
-                    &quot;titleTextPosition&quot;: { # Position settings for text. # The axis title text position.
-                      &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                    },
-                    &quot;viewWindowOptions&quot;: { # The options that define a &quot;view window&quot; for a chart (such as the visible # The view window options for this axis.
-                        # values in an axis).
-                      &quot;viewWindowMin&quot;: 3.14, # The minimum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a minimum value that looks good for the data.
-                      &quot;viewWindowMode&quot;: &quot;A String&quot;, # The view window&#x27;s mode.
-                      &quot;viewWindowMax&quot;: 3.14, # The maximum numeric value to be shown in this view window. If unset, will
-                          # automatically determine a maximum value that looks good for the data.
-                    },
-                  },
-                ],
-                &quot;chartType&quot;: &quot;A String&quot;, # The type of the chart.
-                &quot;interpolateNulls&quot;: True or False, # If some values in a series are missing, gaps may appear in the chart (e.g,
-                    # segments of lines in a line chart will be missing).  To eliminate these
-                    # gaps set this to true.
-                    # Applies to Line, Area, and Combo charts.
               },
-              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
               &quot;waterfallChart&quot;: { # A waterfall chart. # A waterfall chart specification.
-                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
-                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
-                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
-                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                          # Exactly one dimension must have a length of 1,
-                          # and all sources in the list must have the same dimension
-                          # with length 1.
-                          # The domain (if it exists) &amp; all series must have the same number
-                          # of source ranges. If using more than one source range, then the source
-                          # range at a given offset must be in order and contiguous across the domain
-                          # and series.
-                          #
-                          # For example, these are valid configurations:
-                          #
-                          #     domain sources: A1:A5
-                          #     series1 sources: B1:B5
-                          #     series2 sources: D6:D10
-                          #
-                          #     domain sources: A1:A5, C10:C12
-                          #     series1 sources: B1:B5, D10:D12
-                          #     series2 sources: C1:C5, E10:E12
-                        { # A range on a sheet.
-                            # All indexes are zero-based.
-                            # Indexes are half open, e.g the start index is inclusive
-                            # and the end index is exclusive -- [start_index, end_index).
-                            # Missing indexes indicate the range is unbounded on that side.
-                            #
-                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                            #
-                            #   `Sheet1!A1:A1 == sheet_id: 0,
-                            #                   start_row_index: 0, end_row_index: 1,
-                            #                   start_column_index: 0, end_column_index: 1`
-                            #
-                            #   `Sheet1!A3:B4 == sheet_id: 0,
-                            #                   start_row_index: 2, end_row_index: 4,
-                            #                   start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A:B == sheet_id: 0,
-                            #                 start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1!A5:B == sheet_id: 0,
-                            #                  start_row_index: 4,
-                            #                  start_column_index: 0, end_column_index: 2`
-                            #
-                            #   `Sheet1 == sheet_id:0`
-                            #
-                            # The start index must always be less than or equal to the end index.
-                            # If the start index equals the end index, then the range is empty.
-                            # Empty ranges are typically not meaningful and are usually rendered in the
-                            # UI as `#REF!`.
-                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          &quot;sheetId&quot;: 42, # The sheet this range is on.
-                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
-                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
-                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
-                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
-                  &quot;width&quot;: 42, # The thickness of the line, in px.
-                },
                 &quot;series&quot;: [ # The data this waterfall chart is visualizing.
                   { # A single series of data for a waterfall chart.
-                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
-                        # subtotals are defined is not significant. Only one subtotal may be
-                        # defined for each data point.
-                      { # A custom subtotal column for a waterfall chart series.
-                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
-                            # data_is_subtotal is true, the data point at this index is the
-                            # subtotal. Otherwise, the subtotal appears after the data point with
-                            # this index. A series can have multiple subtotals at arbitrary indices,
-                            # but subtotals do not affect the indices of the data points. For
-                            # example, if a series has three data points, their indices will always
-                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
-                            # what data points they are associated with.
-                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
-                            # the subtotal will be computed and appear after the data point.
-                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
-                      },
-                    ],
-                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
-                        # a subtotal column will appear at the end of each series. Setting this
-                        # field to true will hide that subtotal column for this series.
-                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
-                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                            # Exactly one dimension must have a length of 1,
-                            # and all sources in the list must have the same dimension
-                            # with length 1.
-                            # The domain (if it exists) &amp; all series must have the same number
-                            # of source ranges. If using more than one source range, then the source
-                            # range at a given offset must be in order and contiguous across the domain
-                            # and series.
-                            #
-                            # For example, these are valid configurations:
-                            #
-                            #     domain sources: A1:A5
-                            #     series1 sources: B1:B5
-                            #     series2 sources: D6:D10
-                            #
-                            #     domain sources: A1:A5, C10:C12
-                            #     series1 sources: B1:B5, D10:D12
-                            #     series2 sources: C1:C5, E10:E12
-                          { # A range on a sheet.
-                              # All indexes are zero-based.
-                              # Indexes are half open, e.g the start index is inclusive
-                              # and the end index is exclusive -- [start_index, end_index).
-                              # Missing indexes indicate the range is unbounded on that side.
-                              #
-                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                              #
-                              #   `Sheet1!A1:A1 == sheet_id: 0,
-                              #                   start_row_index: 0, end_row_index: 1,
-                              #                   start_column_index: 0, end_column_index: 1`
-                              #
-                              #   `Sheet1!A3:B4 == sheet_id: 0,
-                              #                   start_row_index: 2, end_row_index: 4,
-                              #                   start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A:B == sheet_id: 0,
-                              #                 start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1!A5:B == sheet_id: 0,
-                              #                  start_row_index: 4,
-                              #                  start_column_index: 0, end_column_index: 2`
-                              #
-                              #   `Sheet1 == sheet_id:0`
-                              #
-                              # The start index must always be less than or equal to the end index.
-                              # If the start index equals the end index, then the range is empty.
-                              # Empty ranges are typically not meaningful and are usually rendered in the
-                              # UI as `#REF!`.
-                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            &quot;sheetId&quot;: 42, # The sheet this range is on.
-                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                          },
-                        ],
-                      },
-                    },
                     &quot;positiveColumnsStyle&quot;: { # Styles for a waterfall chart column. # Styles for all columns in this series with positive values.
                       &quot;colorStyle&quot;: { # A color value. # The color of the column.
                           # If color is also set, this field takes precedence.
@@ -176075,6 +176000,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -176086,9 +176014,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -176210,6 +176135,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -176221,9 +176149,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -176350,6 +176275,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -176361,9 +176289,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -176485,6 +176410,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -176496,9 +176424,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
@@ -176625,6 +176550,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -176636,9 +176564,6 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
                       &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the column.
@@ -176760,6 +176685,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -176771,15 +176699,895 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                       &quot;label&quot;: &quot;A String&quot;, # The label of the column&#x27;s legend.
                     },
+                    &quot;customSubtotals&quot;: [ # Custom subtotal columns appearing in this series. The order in which
+                        # subtotals are defined is not significant. Only one subtotal may be
+                        # defined for each data point.
+                      { # A custom subtotal column for a waterfall chart series.
+                        &quot;subtotalIndex&quot;: 42, # The 0-based index of a data point within the series. If
+                            # data_is_subtotal is true, the data point at this index is the
+                            # subtotal. Otherwise, the subtotal appears after the data point with
+                            # this index. A series can have multiple subtotals at arbitrary indices,
+                            # but subtotals do not affect the indices of the data points. For
+                            # example, if a series has three data points, their indices will always
+                            # be 0, 1, and 2, regardless of how many subtotals exist on the series or
+                            # what data points they are associated with.
+                        &quot;dataIsSubtotal&quot;: True or False, # True if the data point at subtotal_index is the subtotal. If false,
+                            # the subtotal will be computed and appear after the data point.
+                        &quot;label&quot;: &quot;A String&quot;, # A label for the subtotal column.
+                      },
+                    ],
+                    &quot;data&quot;: { # The data included in a domain or series. # The data being visualized in this series.
+                      &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                        &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) &amp; all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be in order and contiguous across the domain
+                            # and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                              #
+                              #   `Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1`
+                              #
+                              #   `Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2`
+                              #
+                              #   `Sheet1 == sheet_id:0`
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            &quot;sheetId&quot;: 42, # The sheet this range is on.
+                            &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    &quot;hideTrailingSubtotal&quot;: True or False, # True to hide the subtotal column from the end of the series. By default,
+                        # a subtotal column will appear at the end of each series. Setting this
+                        # field to true will hide that subtotal column for this series.
                   },
                 ],
                 &quot;hideConnectorLines&quot;: True or False, # True to hide connector lines between columns.
+                &quot;domain&quot;: { # The domain of a waterfall chart. # The domain data (horizontal axis) for the waterfall chart.
+                  &quot;reversed&quot;: True or False, # True to reverse the order of the domain values (horizontal axis).
+                  &quot;data&quot;: { # The data included in a domain or series. # The data of the WaterfallChartDomain.
+                    &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                      &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) &amp; all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be in order and contiguous across the domain
+                          # and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                            #
+                            #   `Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1`
+                            #
+                            #   `Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2`
+                            #
+                            #   `Sheet1 == sheet_id:0`
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          &quot;sheetId&quot;: 42, # The sheet this range is on.
+                          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+                &quot;stackedType&quot;: &quot;A String&quot;, # The stacked type.
+                &quot;firstValueIsTotal&quot;: True or False, # True to interpret the first value as a total.
+                &quot;connectorLineStyle&quot;: { # Properties that describe the style of a line. # The line style for the connector lines.
+                  &quot;type&quot;: &quot;A String&quot;, # The dash type of the line.
+                  &quot;width&quot;: 42, # The thickness of the line, in px.
+                },
+              },
+              &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
+              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
+                  # Org charts require a unique set of labels in labels and may
+                  # optionally include parent_labels and tooltips.
+                  # parent_labels contain, for each node, the label identifying the parent
+                  # node.  tooltips contain, for each node, an optional tooltip.
+                  #
+                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
+                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
+                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
+                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
+                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
+                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
+                    # If node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
+                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
+                    # results in no tooltip being displayed for the node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
+                    # must be unique.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
+                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
+                    # A blank value indicates that the node has no parent and is a top-level
+                    # node.
+                    # This field is optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
+                    # If selected_node_color is also set, this field takes precedence.
+                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                },
               },
               &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. # The subtitle text format.
                   # Strikethrough and underline are not supported.
@@ -176908,6 +177716,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -176919,12 +177730,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -177044,6 +177852,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -177055,751 +177866,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
-              &quot;orgChart&quot;: { # An &lt;a href=&quot;/chart/interactive/docs/gallery/orgchart&quot;&gt;org chart&lt;/a&gt;. # An org chart specification.
-                  # Org charts require a unique set of labels in labels and may
-                  # optionally include parent_labels and tooltips.
-                  # parent_labels contain, for each node, the label identifying the parent
-                  # node.  tooltips contain, for each node, an optional tooltip.
-                  #
-                  # For example, to describe an OrgChart with Alice as the CEO, Bob as the
-                  # President (reporting to Alice) and Cathy as VP of Sales (also reporting to
-                  # Alice), have labels contain &quot;Alice&quot;, &quot;Bob&quot;, &quot;Cathy&quot;,
-                  # parent_labels contain &quot;&quot;, &quot;Alice&quot;, &quot;Alice&quot; and tooltips contain
-                  # &quot;CEO&quot;, &quot;President&quot;, &quot;VP Sales&quot;.
-                &quot;parentLabels&quot;: { # The data included in a domain or series. # The data containing the label of the parent for the corresponding node.
-                    # A blank value indicates that the node has no parent and is a top-level
-                    # node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;selectedNodeColorStyle&quot;: { # A color value. # The color of the selected org chart nodes.
-                    # If selected_node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;nodeColorStyle&quot;: { # A color value. # The color of the org chart nodes.
-                    # If node_color is also set, this field takes precedence.
-                  &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                  &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                },
-                &quot;selectedNodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the selected org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;tooltips&quot;: { # The data included in a domain or series. # The data containing the tooltip for the corresponding node.  A blank value
-                    # results in no tooltip being displayed for the node.
-                    # This field is optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-                &quot;nodeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the org chart nodes.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-                &quot;nodeSize&quot;: &quot;A String&quot;, # The size of the org chart nodes.
-                &quot;labels&quot;: { # The data included in a domain or series. # The data containing the labels for all the nodes in the chart.  Labels
-                    # must be unique.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
-              },
               &quot;pieChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/piechart&quot;&gt;pie chart&lt;/a&gt;. # A pie chart specification.
                 &quot;legendPosition&quot;: &quot;A String&quot;, # Where the legend of the pie chart should be drawn.
                 &quot;series&quot;: { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
@@ -177851,11 +177922,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -177911,22 +177982,22 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
               },
-              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
-                  # for accessibility.
               &quot;subtitleTextPosition&quot;: { # Position settings for text. # The subtitle text position.
                   # This field is optional.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
+              &quot;altText&quot;: &quot;A String&quot;, # The alternative text that describes the chart.  This is often used
+                  # for accessibility.
               &quot;fontName&quot;: &quot;A String&quot;, # The name of the font to use by default for all chart text (e.g. title,
                   # axis labels, legend).  If a font is specified for a specific part of the
                   # chart it will override this font name.
@@ -178057,6 +178128,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -178068,12 +178142,9 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;bold&quot;: True or False, # True if the text is bold.
+                &quot;italic&quot;: True or False, # True if the text is italicized.
                 &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -178193,6 +178264,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -178204,11 +178278,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
-                &quot;italic&quot;: True or False, # True if the text is italicized.
+                &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               },
@@ -178225,10 +178296,18 @@
                   # can specify a single data value, or aggregate over a range of data.
                   # Percentage or absolute difference from a baseline value can be highlighted,
                   # like changes over time.
-                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
-                    # This field is optional.
+                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
+                    # chart. This field is used only when number_format_source is set to
+                    # CUSTOM. This field is optional.
+                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
+                      # This field is optional.
+                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
+                      # This field is optional.
+                },
                 &quot;numberFormatSource&quot;: &quot;A String&quot;, # The number format source used in the scorecard chart.
                     # This field is optional.
+                &quot;aggregateType&quot;: &quot;A String&quot;, # The aggregation type for key and baseline chart data in scorecard chart.
+                    # This field is optional.
                 &quot;scaleFactor&quot;: 3.14, # Value to scale scorecard key and baseline value. For example, a factor of
                     # 10 can be used to divide all values in the chart by 10.
                     # This field is optional.
@@ -178281,11 +178360,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -178340,17 +178419,430 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
                 },
                 &quot;baselineValueFormat&quot;: { # Formatting options for baseline value. # Formatting options for baseline value.
                     # This field is needed only if baseline_value_data is specified.
+                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
+                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
+                      # key value. This field is optional.
+                      # If negative_color is also set, this field takes precedence.
+                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                        #
+                        # Note: this proto does not carry information about the absolute color space
+                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                        # space.
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [[Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha &lt;= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = [&#x27;#&#x27;];
+                        #       for (var i = 0; i &lt; missingZeros; i++) {
+                        #          resultBuilder.push(&#x27;0&#x27;);
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join(&#x27;&#x27;);
+                        #     };
+                        #
+                        #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                    },
+                  },
+                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
+                      # This field is optional. If not specified, default positioning is used.
+                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
+                  },
+                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
+                      # key value. This field is optional.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                      #
+                      # Note: this proto does not carry information about the absolute color space
+                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                      # space.
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [[Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha &lt;= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = [&#x27;#&#x27;];
+                      #       for (var i = 0; i &lt; missingZeros; i++) {
+                      #          resultBuilder.push(&#x27;0&#x27;);
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join(&#x27;&#x27;);
+                      #     };
+                      #
+                      #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                  },
                   &quot;comparisonType&quot;: &quot;A String&quot;, # The comparison type of key value with baseline value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for baseline value.
                       # Absent values indicate that the field isn&#x27;t specified.
@@ -178478,6 +178970,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -178489,12 +178984,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -178614,6 +179106,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -178625,11 +179120,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -178758,6 +179250,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -178769,424 +179264,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;negativeColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
-                  &quot;negativeColorStyle&quot;: { # A color value. # Color to be used, in case baseline value represents a negative change for
-                      # key value. This field is optional.
-                      # If negative_color is also set, this field takes precedence.
-                    &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                    &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                        # for simplicity of conversion to/from color representations in various
-                        # languages over compactness; for example, the fields of this representation
-                        # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                        # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                        # method in iOS; and, with just a little work, it can be easily formatted into
-                        # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                        #
-                        # Note: this proto does not carry information about the absolute color space
-                        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                        # space.
-                        #
-                        # Example (Java):
-                        #
-                        #      import com.google.type.Color;
-                        #
-                        #      // ...
-                        #      public static java.awt.Color fromProto(Color protocolor) {
-                        #        float alpha = protocolor.hasAlpha()
-                        #            ? protocolor.getAlpha().getValue()
-                        #            : 1.0;
-                        #
-                        #        return new java.awt.Color(
-                        #            protocolor.getRed(),
-                        #            protocolor.getGreen(),
-                        #            protocolor.getBlue(),
-                        #            alpha);
-                        #      }
-                        #
-                        #      public static Color toProto(java.awt.Color color) {
-                        #        float red = (float) color.getRed();
-                        #        float green = (float) color.getGreen();
-                        #        float blue = (float) color.getBlue();
-                        #        float denominator = 255.0;
-                        #        Color.Builder resultBuilder =
-                        #            Color
-                        #                .newBuilder()
-                        #                .setRed(red / denominator)
-                        #                .setGreen(green / denominator)
-                        #                .setBlue(blue / denominator);
-                        #        int alpha = color.getAlpha();
-                        #        if (alpha != 255) {
-                        #          result.setAlpha(
-                        #              FloatValue
-                        #                  .newBuilder()
-                        #                  .setValue(((float) alpha) / denominator)
-                        #                  .build());
-                        #        }
-                        #        return resultBuilder.build();
-                        #      }
-                        #      // ...
-                        #
-                        # Example (iOS / Obj-C):
-                        #
-                        #      // ...
-                        #      static UIColor* fromProto(Color* protocolor) {
-                        #         float red = [protocolor red];
-                        #         float green = [protocolor green];
-                        #         float blue = [protocolor blue];
-                        #         FloatValue* alpha_wrapper = [protocolor alpha];
-                        #         float alpha = 1.0;
-                        #         if (alpha_wrapper != nil) {
-                        #           alpha = [alpha_wrapper value];
-                        #         }
-                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                        #      }
-                        #
-                        #      static Color* toProto(UIColor* color) {
-                        #          CGFloat red, green, blue, alpha;
-                        #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                        #            return nil;
-                        #          }
-                        #          Color* result = [[Color alloc] init];
-                        #          [result setRed:red];
-                        #          [result setGreen:green];
-                        #          [result setBlue:blue];
-                        #          if (alpha &lt;= 0.9999) {
-                        #            [result setAlpha:floatWrapperWithValue(alpha)];
-                        #          }
-                        #          [result autorelease];
-                        #          return result;
-                        #     }
-                        #     // ...
-                        #
-                        #  Example (JavaScript):
-                        #
-                        #     // ...
-                        #
-                        #     var protoToCssColor = function(rgb_color) {
-                        #        var redFrac = rgb_color.red || 0.0;
-                        #        var greenFrac = rgb_color.green || 0.0;
-                        #        var blueFrac = rgb_color.blue || 0.0;
-                        #        var red = Math.floor(redFrac * 255);
-                        #        var green = Math.floor(greenFrac * 255);
-                        #        var blue = Math.floor(blueFrac * 255);
-                        #
-                        #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                        #           return rgbToCssColor_(red, green, blue);
-                        #        }
-                        #
-                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                        #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                        #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     var rgbToCssColor_ = function(red, green, blue) {
-                        #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                        #       var hexString = rgbNumber.toString(16);
-                        #       var missingZeros = 6 - hexString.length;
-                        #       var resultBuilder = [&#x27;#&#x27;];
-                        #       for (var i = 0; i &lt; missingZeros; i++) {
-                        #          resultBuilder.push(&#x27;0&#x27;);
-                        #       }
-                        #       resultBuilder.push(hexString);
-                        #       return resultBuilder.join(&#x27;&#x27;);
-                        #     };
-                        #
-                        #     // ...
-                      &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                          # the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color. This
-                          # uses a wrapper message rather than a simple float scalar so that it is
-                          # possible to distinguish between a default value and the value being unset.
-                          # If omitted, this color object is to be rendered as a solid color
-                          # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                    },
-                  },
-                  &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of baseline value.
-                      # This field is optional. If not specified, default positioning is used.
-                    &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
-                  },
-                  &quot;positiveColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # Color to be used, in case baseline value represents a positive change for
-                      # key value. This field is optional.
-                      # for simplicity of conversion to/from color representations in various
-                      # languages over compactness; for example, the fields of this representation
-                      # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                      # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                      # method in iOS; and, with just a little work, it can be easily formatted into
-                      # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                      #
-                      # Note: this proto does not carry information about the absolute color space
-                      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                      # space.
-                      #
-                      # Example (Java):
-                      #
-                      #      import com.google.type.Color;
-                      #
-                      #      // ...
-                      #      public static java.awt.Color fromProto(Color protocolor) {
-                      #        float alpha = protocolor.hasAlpha()
-                      #            ? protocolor.getAlpha().getValue()
-                      #            : 1.0;
-                      #
-                      #        return new java.awt.Color(
-                      #            protocolor.getRed(),
-                      #            protocolor.getGreen(),
-                      #            protocolor.getBlue(),
-                      #            alpha);
-                      #      }
-                      #
-                      #      public static Color toProto(java.awt.Color color) {
-                      #        float red = (float) color.getRed();
-                      #        float green = (float) color.getGreen();
-                      #        float blue = (float) color.getBlue();
-                      #        float denominator = 255.0;
-                      #        Color.Builder resultBuilder =
-                      #            Color
-                      #                .newBuilder()
-                      #                .setRed(red / denominator)
-                      #                .setGreen(green / denominator)
-                      #                .setBlue(blue / denominator);
-                      #        int alpha = color.getAlpha();
-                      #        if (alpha != 255) {
-                      #          result.setAlpha(
-                      #              FloatValue
-                      #                  .newBuilder()
-                      #                  .setValue(((float) alpha) / denominator)
-                      #                  .build());
-                      #        }
-                      #        return resultBuilder.build();
-                      #      }
-                      #      // ...
-                      #
-                      # Example (iOS / Obj-C):
-                      #
-                      #      // ...
-                      #      static UIColor* fromProto(Color* protocolor) {
-                      #         float red = [protocolor red];
-                      #         float green = [protocolor green];
-                      #         float blue = [protocolor blue];
-                      #         FloatValue* alpha_wrapper = [protocolor alpha];
-                      #         float alpha = 1.0;
-                      #         if (alpha_wrapper != nil) {
-                      #           alpha = [alpha_wrapper value];
-                      #         }
-                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                      #      }
-                      #
-                      #      static Color* toProto(UIColor* color) {
-                      #          CGFloat red, green, blue, alpha;
-                      #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                      #            return nil;
-                      #          }
-                      #          Color* result = [[Color alloc] init];
-                      #          [result setRed:red];
-                      #          [result setGreen:green];
-                      #          [result setBlue:blue];
-                      #          if (alpha &lt;= 0.9999) {
-                      #            [result setAlpha:floatWrapperWithValue(alpha)];
-                      #          }
-                      #          [result autorelease];
-                      #          return result;
-                      #     }
-                      #     // ...
-                      #
-                      #  Example (JavaScript):
-                      #
-                      #     // ...
-                      #
-                      #     var protoToCssColor = function(rgb_color) {
-                      #        var redFrac = rgb_color.red || 0.0;
-                      #        var greenFrac = rgb_color.green || 0.0;
-                      #        var blueFrac = rgb_color.blue || 0.0;
-                      #        var red = Math.floor(redFrac * 255);
-                      #        var green = Math.floor(greenFrac * 255);
-                      #        var blue = Math.floor(blueFrac * 255);
-                      #
-                      #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                      #           return rgbToCssColor_(red, green, blue);
-                      #        }
-                      #
-                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                      #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                      #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     var rgbToCssColor_ = function(red, green, blue) {
-                      #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                      #       var hexString = rgbNumber.toString(16);
-                      #       var missingZeros = 6 - hexString.length;
-                      #       var resultBuilder = [&#x27;#&#x27;];
-                      #       for (var i = 0; i &lt; missingZeros; i++) {
-                      #          resultBuilder.push(&#x27;0&#x27;);
-                      #       }
-                      #       resultBuilder.push(hexString);
-                      #       return resultBuilder.join(&#x27;&#x27;);
-                      #     };
-                      #
-                      #     // ...
-                    &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                        # the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color. This
-                        # uses a wrapper message rather than a simple float scalar so that it is
-                        # possible to distinguish between a default value and the value being unset.
-                        # If omitted, this color object is to be rendered as a solid color
-                        # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                  },
                 },
                 &quot;keyValueFormat&quot;: { # Formatting options for key value. # Formatting options for key value.
                   &quot;textFormat&quot;: { # The format of a run of text in a cell. # Text formatting options for key value.
@@ -179315,6 +179394,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -179326,12 +179408,9 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
-                    &quot;bold&quot;: True or False, # True if the text is bold.
+                    &quot;italic&quot;: True or False, # True if the text is italicized.
                     &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -179451,6 +179530,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -179462,11 +179544,8 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
-                    &quot;italic&quot;: True or False, # True if the text is italicized.
+                    &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   },
@@ -179475,14 +179554,6 @@
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                   },
                 },
-                &quot;customFormatOptions&quot;: { # Custom number formatting options for chart attributes. # Custom formatting options for numeric key/baseline values in scorecard
-                    # chart. This field is used only when number_format_source is set to
-                    # CUSTOM. This field is optional.
-                  &quot;suffix&quot;: &quot;A String&quot;, # Custom suffix to be appended to the chart attribute.
-                      # This field is optional.
-                  &quot;prefix&quot;: &quot;A String&quot;, # Custom prefix to be prepended to the chart attribute.
-                      # This field is optional.
-                },
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the entire chart.
                   # Not applicable to Org charts.
@@ -179607,6 +179678,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -179618,77 +179692,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
               &quot;hiddenDimensionStrategy&quot;: &quot;A String&quot;, # Determines how the charts will use hidden rows or columns.
               &quot;bubbleChart&quot;: { # A &lt;a href=&quot;/chart/interactive/docs/gallery/bubblechart&quot;&gt;bubble chart&lt;/a&gt;. # A bubble chart specification.
-                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
-                    # 0 is fully transparent and 1 is fully opaque.
-                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
-                    # the bubbles at different sizes relative to each other.
-                    # If specified, group_ids must also be specified.  This field is
-                    # optional.
-                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
-                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
-                        # Exactly one dimension must have a length of 1,
-                        # and all sources in the list must have the same dimension
-                        # with length 1.
-                        # The domain (if it exists) &amp; all series must have the same number
-                        # of source ranges. If using more than one source range, then the source
-                        # range at a given offset must be in order and contiguous across the domain
-                        # and series.
-                        #
-                        # For example, these are valid configurations:
-                        #
-                        #     domain sources: A1:A5
-                        #     series1 sources: B1:B5
-                        #     series2 sources: D6:D10
-                        #
-                        #     domain sources: A1:A5, C10:C12
-                        #     series1 sources: B1:B5, D10:D12
-                        #     series2 sources: C1:C5, E10:E12
-                      { # A range on a sheet.
-                          # All indexes are zero-based.
-                          # Indexes are half open, e.g the start index is inclusive
-                          # and the end index is exclusive -- [start_index, end_index).
-                          # Missing indexes indicate the range is unbounded on that side.
-                          #
-                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-                          #
-                          #   `Sheet1!A1:A1 == sheet_id: 0,
-                          #                   start_row_index: 0, end_row_index: 1,
-                          #                   start_column_index: 0, end_column_index: 1`
-                          #
-                          #   `Sheet1!A3:B4 == sheet_id: 0,
-                          #                   start_row_index: 2, end_row_index: 4,
-                          #                   start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A:B == sheet_id: 0,
-                          #                 start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1!A5:B == sheet_id: 0,
-                          #                  start_row_index: 4,
-                          #                  start_column_index: 0, end_column_index: 2`
-                          #
-                          #   `Sheet1 == sheet_id:0`
-                          #
-                          # The start index must always be less than or equal to the end index.
-                          # If the start index equals the end index, then the range is empty.
-                          # Empty ranges are typically not meaningful and are usually rendered in the
-                          # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        &quot;sheetId&quot;: 42, # The sheet this range is on.
-                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-                      },
-                    ],
-                  },
-                },
                 &quot;bubbleMinRadiusSize&quot;: 42, # The minimum radius size of the bubbles, in pixels.
                     # If specific, the field must be a positive value.
                 &quot;bubbleBorderColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The bubble border color.
@@ -179810,6 +179818,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -179821,9 +179832,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;bubbleMaxRadiusSize&quot;: 42, # The max radius size of the bubbles, in pixels.
                     # If specified, the field must be a positive value.
@@ -179949,6 +179957,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -179960,9 +179971,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;groupIds&quot;: { # The data included in a domain or series. # The data containing the bubble group IDs. All bubbles with the same group
@@ -180017,11 +180025,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -180076,11 +180084,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -180134,11 +180142,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -180194,11 +180202,11 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -180330,6 +180338,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -180341,12 +180352,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -180466,6 +180474,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -180477,41 +180488,84 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-              },
-            },
-            &quot;chartId&quot;: 42, # The ID of the chart.
-            &quot;position&quot;: { # The position of an embedded object such as a chart. # The position of the chart.
-              &quot;overlayPosition&quot;: { # The location an object is overlaid on top of a grid. # The position at which the object is overlaid on top of a grid.
-                &quot;anchorCell&quot;: { # A coordinate in a sheet. # The cell the object is anchored to.
-                    # All indexes are zero-based.
-                  &quot;columnIndex&quot;: 42, # The column index of the coordinate.
-                  &quot;rowIndex&quot;: 42, # The row index of the coordinate.
-                  &quot;sheetId&quot;: 42, # The sheet this coordinate is on.
+                &quot;bubbleSizes&quot;: { # The data included in a domain or series. # The data contianing the bubble sizes.  Bubble sizes are used to draw
+                    # the bubbles at different sizes relative to each other.
+                    # If specified, group_ids must also be specified.  This field is
+                    # optional.
+                  &quot;sourceRange&quot;: { # Source ranges for a chart. # The source ranges of the data.
+                    &quot;sources&quot;: [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) &amp; all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be in order and contiguous across the domain
+                        # and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
+                          #
+                          #   `Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1`
+                          #
+                          #   `Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2`
+                          #
+                          #   `Sheet1 == sheet_id:0`
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        &quot;sheetId&quot;: 42, # The sheet this range is on.
+                        &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
                 },
-                &quot;widthPixels&quot;: 42, # The width of the object, in pixels. Defaults to 600.
-                &quot;offsetYPixels&quot;: 42, # The vertical offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;offsetXPixels&quot;: 42, # The horizontal offset, in pixels, that the object is offset
-                    # from the anchor cell.
-                &quot;heightPixels&quot;: 42, # The height of the object, in pixels. Defaults to 371.
+                &quot;bubbleOpacity&quot;: 3.14, # The opacity of the bubbles between 0 and 1.0.
+                    # 0 is fully transparent and 1 is fully opaque.
               },
-              &quot;newSheet&quot;: True or False, # If true, the embedded object is put on a new sheet whose ID
-                  # is chosen for you. Used only when writing.
-              &quot;sheetId&quot;: 42, # The sheet this is on. Set only if the embedded object
-                  # is on its own sheet. Must be non-negative.
             },
           },
         ],
         &quot;protectedRanges&quot;: [ # The protected ranges in this sheet.
           { # A protected range.
+            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
             &quot;unprotectedRanges&quot;: [ # The list of unprotected ranges within a protected sheet.
                 # Unprotected ranges are only supported on protected sheets.
               { # A range on a sheet.
@@ -180543,11 +180597,11 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;requestingUserCanEdit&quot;: True or False, # True if the user who requested this protected range can edit the
@@ -180590,21 +180644,12 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             },
-            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
             &quot;editors&quot;: { # The editors of a protected range. # The users and groups with edit access to the protected range.
                 # This field is only visible to users with edit access to the protected
                 # range and the document.
@@ -180618,10 +180663,15 @@
                 &quot;A String&quot;,
               ],
             },
-            &quot;namedRangeId&quot;: &quot;A String&quot;, # The named range this protected range is backed by, if any.
+            &quot;warningOnly&quot;: True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
                 #
-                # When writing, only one of range or named_range_id
-                # may be set.
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
           },
         ],
         &quot;basicFilter&quot;: { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -180749,6 +180799,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -180760,9 +180813,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;condition&quot;: { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
                   # (This does not override hidden_values -- if a value is listed there,
@@ -180911,6 +180961,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -180922,9 +180975,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;visibleBackgroundColorStyle&quot;: { # A color value. # The background fill color to filter by; only cells with this fill color are
                   # shown. This field is mutually exclusive with visible_foreground_color,
@@ -181050,6 +181100,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -181061,9 +181114,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;visibleForegroundColorStyle&quot;: { # A color value. # The foreground color to filter by; only cells with this foreground color
@@ -181190,6 +181240,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -181201,9 +181254,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;hiddenValues&quot;: [ # Values that should be hidden.
@@ -181240,11 +181290,11 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
           &quot;sortSpecs&quot;: [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -181369,6 +181419,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -181380,9 +181433,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
               &quot;backgroundColorStyle&quot;: { # A color value. # The background fill color to sort by; cells with this fill color are sorted
                   # to the top. Mutually exclusive with foreground_color, and must be an
@@ -181508,6 +181558,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -181519,9 +181572,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;sortOrder&quot;: &quot;A String&quot;, # The order data should be sorted.
@@ -181650,6 +181700,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -181661,9 +181714,6 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
               &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color to sort by; cells with this foreground color are
@@ -181786,6 +181836,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -181797,9 +181850,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           ],
@@ -181834,1134 +181884,15 @@
               # If the start index equals the end index, then the range is empty.
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
-            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
             &quot;sheetId&quot;: 42, # The sheet this range is on.
             &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
             &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+            &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+            &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
           },
         ],
         &quot;bandedRanges&quot;: [ # The banded (alternating colors) ranges on this sheet.
           { # A banded (alternating colors) range in a sheet.
-            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
-                # by-column basis throughout all the columns in the range. At least one of
-                # row_properties or column_properties must be specified.
-                # BandedRange.row_properties and BandedRange.column_properties are
-                # set, the fill colors are applied to cells according to the following rules:
-                #
-                # * header_color and footer_color take priority over band colors.
-                # * first_band_color takes priority over second_band_color.
-                # * row_properties takes priority over column_properties.
-                #
-                # For example, the first row color takes priority over the first column
-                # color, but the first column color takes priority over the second row color.
-                # Similarly, the row header takes priority over the column header in the
-                # top left cell, but the column header takes priority over the first row
-                # color if the row header is not set.
-              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
-                  # If first_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would. If header_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-            },
             &quot;bandedRangeId&quot;: 42, # The id of the banded range.
             &quot;rowProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for row bands. These properties are applied on a row-by-row
                 # basis throughout all the rows in the range. At least one of
@@ -182978,6 +181909,690 @@
                 # Similarly, the row header takes priority over the column header in the
                 # top left cell, but the column header takes priority over the first row
                 # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
               &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
                   # If first_band_color is also set, this field takes precedence.
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -183100,6 +182715,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -183111,284 +182729,8 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
-                  # or column is filled with this color and the colors alternate between
-                  # first_band_color and second_band_color starting from the second
-                  # row or column. Otherwise, the first row or column is filled with
-                  # first_band_color and the colors proceed to alternate as they normally
-                  # would.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
               &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
                   # or column is filled with this color and the colors alternate between
                   # first_band_color and second_band_color starting from the second
@@ -183515,6 +182857,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -183526,12 +182871,14 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
               },
-              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
                   # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
@@ -183650,6 +182997,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -183661,425 +183011,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
-                  # If second_band_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
-              },
-              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # for simplicity of conversion to/from color representations in various
-                  # languages over compactness; for example, the fields of this representation
-                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                  # method in iOS; and, with just a little work, it can be easily formatted into
-                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                  #
-                  # Note: this proto does not carry information about the absolute color space
-                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                  # space.
-                  #
-                  # Example (Java):
-                  #
-                  #      import com.google.type.Color;
-                  #
-                  #      // ...
-                  #      public static java.awt.Color fromProto(Color protocolor) {
-                  #        float alpha = protocolor.hasAlpha()
-                  #            ? protocolor.getAlpha().getValue()
-                  #            : 1.0;
-                  #
-                  #        return new java.awt.Color(
-                  #            protocolor.getRed(),
-                  #            protocolor.getGreen(),
-                  #            protocolor.getBlue(),
-                  #            alpha);
-                  #      }
-                  #
-                  #      public static Color toProto(java.awt.Color color) {
-                  #        float red = (float) color.getRed();
-                  #        float green = (float) color.getGreen();
-                  #        float blue = (float) color.getBlue();
-                  #        float denominator = 255.0;
-                  #        Color.Builder resultBuilder =
-                  #            Color
-                  #                .newBuilder()
-                  #                .setRed(red / denominator)
-                  #                .setGreen(green / denominator)
-                  #                .setBlue(blue / denominator);
-                  #        int alpha = color.getAlpha();
-                  #        if (alpha != 255) {
-                  #          result.setAlpha(
-                  #              FloatValue
-                  #                  .newBuilder()
-                  #                  .setValue(((float) alpha) / denominator)
-                  #                  .build());
-                  #        }
-                  #        return resultBuilder.build();
-                  #      }
-                  #      // ...
-                  #
-                  # Example (iOS / Obj-C):
-                  #
-                  #      // ...
-                  #      static UIColor* fromProto(Color* protocolor) {
-                  #         float red = [protocolor red];
-                  #         float green = [protocolor green];
-                  #         float blue = [protocolor blue];
-                  #         FloatValue* alpha_wrapper = [protocolor alpha];
-                  #         float alpha = 1.0;
-                  #         if (alpha_wrapper != nil) {
-                  #           alpha = [alpha_wrapper value];
-                  #         }
-                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                  #      }
-                  #
-                  #      static Color* toProto(UIColor* color) {
-                  #          CGFloat red, green, blue, alpha;
-                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                  #            return nil;
-                  #          }
-                  #          Color* result = [[Color alloc] init];
-                  #          [result setRed:red];
-                  #          [result setGreen:green];
-                  #          [result setBlue:blue];
-                  #          if (alpha &lt;= 0.9999) {
-                  #            [result setAlpha:floatWrapperWithValue(alpha)];
-                  #          }
-                  #          [result autorelease];
-                  #          return result;
-                  #     }
-                  #     // ...
-                  #
-                  #  Example (JavaScript):
-                  #
-                  #     // ...
-                  #
-                  #     var protoToCssColor = function(rgb_color) {
-                  #        var redFrac = rgb_color.red || 0.0;
-                  #        var greenFrac = rgb_color.green || 0.0;
-                  #        var blueFrac = rgb_color.blue || 0.0;
-                  #        var red = Math.floor(redFrac * 255);
-                  #        var green = Math.floor(greenFrac * 255);
-                  #        var blue = Math.floor(blueFrac * 255);
-                  #
-                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                  #           return rgbToCssColor_(red, green, blue);
-                  #        }
-                  #
-                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     var rgbToCssColor_ = function(red, green, blue) {
-                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                  #       var hexString = rgbNumber.toString(16);
-                  #       var missingZeros = 6 - hexString.length;
-                  #       var resultBuilder = [&#x27;#&#x27;];
-                  #       for (var i = 0; i &lt; missingZeros; i++) {
-                  #          resultBuilder.push(&#x27;0&#x27;);
-                  #       }
-                  #       resultBuilder.push(hexString);
-                  #       return resultBuilder.join(&#x27;&#x27;);
-                  #     };
-                  #
-                  #     // ...
-                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                    # the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color. This
-                    # uses a wrapper message rather than a simple float scalar so that it is
-                    # possible to distinguish between a default value and the value being unset.
-                    # If omitted, this color object is to be rendered as a solid color
-                    # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-              },
-              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
-                  # row or column is filled with either first_band_color or
-                  # second_band_color, depending on the color of the previous row or
-                  # column.
-                  # If footer_color is also set, this field takes precedence.
-                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
-                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
-                      #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-                      #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
-                },
               },
             },
             &quot;range&quot;: { # A range on a sheet. # The range over which these properties are applied.
@@ -184111,11 +183042,1130 @@
                 # If the start index equals the end index, then the range is empty.
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
-              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               &quot;sheetId&quot;: 42, # The sheet this range is on.
               &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
               &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+              &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+              &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
+            },
+            &quot;columnProperties&quot;: { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties are applied on a column-
+                # by-column basis throughout all the columns in the range. At least one of
+                # row_properties or column_properties must be specified.
+                # BandedRange.row_properties and BandedRange.column_properties are
+                # set, the fill colors are applied to cells according to the following rules:
+                #
+                # * header_color and footer_color take priority over band colors.
+                # * first_band_color takes priority over second_band_color.
+                # * row_properties takes priority over column_properties.
+                #
+                # For example, the first row color takes priority over the first column
+                # color, but the first column color takes priority over the second row color.
+                # Similarly, the row header takes priority over the column header in the
+                # top left cell, but the column header takes priority over the first row
+                # color if the row header is not set.
+              &quot;firstBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The first color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColorStyle&quot;: { # A color value. # The second color that is alternating. (Required)
+                  # If second_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColorStyle&quot;: { # A color value. # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # If footer_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;footerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the last row or column. If this field is not set, the last
+                  # row or column is filled with either first_band_color or
+                  # second_band_color, depending on the color of the previous row or
+                  # column.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;secondBandColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The second color that is alternating. (Required)
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
+              &quot;firstBandColorStyle&quot;: { # A color value. # The first color that is alternating. (Required)
+                  # If first_band_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColorStyle&quot;: { # A color value. # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would. If header_color is also set, this field takes precedence.
+                &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
+                &quot;rgbColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # RGB color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
+              },
+              &quot;headerColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the first row or column. If this field is set, the first row
+                  # or column is filled with this color and the colors alternate between
+                  # first_band_color and second_band_color starting from the second
+                  # row or column. Otherwise, the first row or column is filled with
+                  # first_band_color and the colors proceed to alternate as they normally
+                  # would.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                  # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                  #
+                  # Note: this proto does not carry information about the absolute color space
+                  # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                  # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                  # space.
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [[Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha &lt;= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                  #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = [&#x27;#&#x27;];
+                  #       for (var i = 0; i &lt; missingZeros; i++) {
+                  #          resultBuilder.push(&#x27;0&#x27;);
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join(&#x27;&#x27;);
+                  #     };
+                  #
+                  #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+              },
             },
           },
         ],
@@ -184135,16 +184185,14 @@
               # (If the sheet is an object sheet, containing a chart or image, then
               # this field will be absent.)
               # When writing it is an error to set any grid properties on non-grid sheets.
+            &quot;rowCount&quot;: 42, # The number of rows in the grid.
+            &quot;columnCount&quot;: 42, # The number of columns in the grid.
+            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
             &quot;rowGroupControlAfter&quot;: True or False, # True if the row grouping control toggle is shown after the group.
             &quot;hideGridlines&quot;: True or False, # True if the grid isn&#x27;t showing gridlines in the UI.
             &quot;frozenColumnCount&quot;: 42, # The number of columns that are frozen in the grid.
             &quot;columnGroupControlAfter&quot;: True or False, # True if the column grouping control toggle is shown after the group.
-            &quot;rowCount&quot;: 42, # The number of rows in the grid.
-            &quot;frozenRowCount&quot;: 42, # The number of rows that are frozen in the grid.
-            &quot;columnCount&quot;: 42, # The number of columns in the grid.
           },
-          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
-              # This field cannot be changed once set.
           &quot;tabColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -184264,6 +184312,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -184275,10 +184326,9 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
+          &quot;sheetId&quot;: 42, # The ID of the sheet. Must be non-negative.
+              # This field cannot be changed once set.
           &quot;rightToLeft&quot;: True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
           &quot;tabColorStyle&quot;: { # A color value. # The color of the tab in the UI.
               # If tab_color is also set, this field takes precedence.
@@ -184402,6 +184452,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -184413,9 +184466,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
           &quot;hidden&quot;: True or False, # True if the sheet is hidden in the UI, false if it&#x27;s visible.
@@ -184455,50 +184505,164 @@
                   # If the start index equals the end index, then the range is empty.
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
-                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                 &quot;sheetId&quot;: 42, # The sheet this range is on.
                 &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                 &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
               },
             ],
             &quot;booleanRule&quot;: { # A rule that may or may not match, depending on the condition. # The formatting is either &quot;on&quot; or &quot;off&quot; according to the rule.
-              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
-                  # the format is applied.
-                  # BooleanConditions are used by conditional formatting,
-                  # data validation, and the criteria in filters.
-                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
-                    # on the condition type.  Some support zero values,
-                    # others one or two values,
-                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                  { # The value of the condition.
-                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
-                        # Valid only if the type is
-                        # DATE_BEFORE,
-                        # DATE_AFTER,
-                        # DATE_ON_OR_BEFORE or
-                        # DATE_ON_OR_AFTER.
-                        #
-                        # Relative dates are not supported in data validation.
-                        # They are supported only in conditional formatting and
-                        # conditional filters.
-                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
-                        # The value is parsed as if the user typed into a cell.
-                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
-                  },
-                ],
-                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
-              },
               &quot;format&quot;: { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
                   # bold, italic,
                   # strikethrough,
                   # foreground color &amp;
                   # background color.
+                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                  &quot;left&quot;: 42, # The left padding of the cell.
+                  &quot;top&quot;: 42, # The top padding of the cell.
+                  &quot;right&quot;: 42, # The right padding of the cell.
+                },
+                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                    #
+                    # Note: this proto does not carry information about the absolute color space
+                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                    # space.
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [[Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha &lt;= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = [&#x27;#&#x27;];
+                    #       for (var i = 0; i &lt; missingZeros; i++) {
+                    #          resultBuilder.push(&#x27;0&#x27;);
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join(&#x27;&#x27;);
+                    #     };
+                    #
+                    #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                },
                 &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                 &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                   &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user&#x27;s locale will be used if necessary for the given type.
@@ -184507,6 +184671,7 @@
                   &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                       # When writing, this field must be set.
                 },
+                &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                 &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                   &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                     &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -184633,6 +184798,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -184644,9 +184812,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -184768,6 +184933,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -184779,9 +184947,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -184910,6 +185075,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -184921,9 +185089,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -185045,6 +185210,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -185056,9 +185224,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -185187,6 +185352,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -185198,9 +185366,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -185322,6 +185487,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -185333,9 +185501,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -185464,6 +185629,9 @@
                           #     };
                           #
                           #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                             # the final pixel color is defined by the equation:
                             #
@@ -185475,9 +185643,6 @@
                             # possible to distinguish between a default value and the value being unset.
                             # If omitted, this color object is to be rendered as a solid color
                             # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       },
                     },
                     &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -185599,6 +185764,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -185610,9 +185778,6 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                     &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                   },
@@ -185744,6 +185909,9 @@
                         #     };
                         #
                         #     // ...
+                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                       &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                           # the final pixel color is defined by the equation:
                           #
@@ -185755,12 +185923,9 @@
                           # possible to distinguish between a default value and the value being unset.
                           # If omitted, this color object is to be rendered as a solid color
                           # (as if the alpha value had been explicitly given with a value of 1.0).
-                      &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                      &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                      &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     },
                   },
-                  &quot;bold&quot;: True or False, # True if the text is bold.
+                  &quot;italic&quot;: True or False, # True if the text is italicized.
                   &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -185880,6 +186045,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -185891,35 +186059,11 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
-                  &quot;italic&quot;: True or False, # True if the text is italicized.
+                  &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 },
-                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                      # Measured in degrees. Valid values are between -90 and 90. Positive
-                      # angles are angled upwards, negative are angled downwards.
-                      #
-                      # Note: For LTR text direction positive angles are in the
-                      # counterclockwise direction, whereas for RTL they are in the clockwise
-                      # direction
-                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                      # characters is unchanged.
-                      # For example:
-                      #
-                      #     | V |
-                      #     | e |
-                      #     | r |
-                      #     | t |
-                      #     | i |
-                      #     | c |
-                      #     | a |
-                      #     | l |
-                },
                 &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                     # If background_color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -186042,6 +186186,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -186053,153 +186200,56 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
-                &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                    # When updating padding, every field must be specified.
-                  &quot;right&quot;: 42, # The right padding of the cell.
-                  &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                  &quot;left&quot;: 42, # The left padding of the cell.
-                  &quot;top&quot;: 42, # The top padding of the cell.
-                },
-                &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                    # for simplicity of conversion to/from color representations in various
-                    # languages over compactness; for example, the fields of this representation
-                    # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                    # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                    # method in iOS; and, with just a little work, it can be easily formatted into
-                    # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                    #
-                    # Note: this proto does not carry information about the absolute color space
-                    # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                    # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                    # space.
-                    #
-                    # Example (Java):
-                    #
-                    #      import com.google.type.Color;
-                    #
-                    #      // ...
-                    #      public static java.awt.Color fromProto(Color protocolor) {
-                    #        float alpha = protocolor.hasAlpha()
-                    #            ? protocolor.getAlpha().getValue()
-                    #            : 1.0;
-                    #
-                    #        return new java.awt.Color(
-                    #            protocolor.getRed(),
-                    #            protocolor.getGreen(),
-                    #            protocolor.getBlue(),
-                    #            alpha);
-                    #      }
-                    #
-                    #      public static Color toProto(java.awt.Color color) {
-                    #        float red = (float) color.getRed();
-                    #        float green = (float) color.getGreen();
-                    #        float blue = (float) color.getBlue();
-                    #        float denominator = 255.0;
-                    #        Color.Builder resultBuilder =
-                    #            Color
-                    #                .newBuilder()
-                    #                .setRed(red / denominator)
-                    #                .setGreen(green / denominator)
-                    #                .setBlue(blue / denominator);
-                    #        int alpha = color.getAlpha();
-                    #        if (alpha != 255) {
-                    #          result.setAlpha(
-                    #              FloatValue
-                    #                  .newBuilder()
-                    #                  .setValue(((float) alpha) / denominator)
-                    #                  .build());
-                    #        }
-                    #        return resultBuilder.build();
-                    #      }
-                    #      // ...
-                    #
-                    # Example (iOS / Obj-C):
-                    #
-                    #      // ...
-                    #      static UIColor* fromProto(Color* protocolor) {
-                    #         float red = [protocolor red];
-                    #         float green = [protocolor green];
-                    #         float blue = [protocolor blue];
-                    #         FloatValue* alpha_wrapper = [protocolor alpha];
-                    #         float alpha = 1.0;
-                    #         if (alpha_wrapper != nil) {
-                    #           alpha = [alpha_wrapper value];
-                    #         }
-                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                    #      }
-                    #
-                    #      static Color* toProto(UIColor* color) {
-                    #          CGFloat red, green, blue, alpha;
-                    #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                    #            return nil;
-                    #          }
-                    #          Color* result = [[Color alloc] init];
-                    #          [result setRed:red];
-                    #          [result setGreen:green];
-                    #          [result setBlue:blue];
-                    #          if (alpha &lt;= 0.9999) {
-                    #            [result setAlpha:floatWrapperWithValue(alpha)];
-                    #          }
-                    #          [result autorelease];
-                    #          return result;
-                    #     }
-                    #     // ...
-                    #
-                    #  Example (JavaScript):
-                    #
-                    #     // ...
-                    #
-                    #     var protoToCssColor = function(rgb_color) {
-                    #        var redFrac = rgb_color.red || 0.0;
-                    #        var greenFrac = rgb_color.green || 0.0;
-                    #        var blueFrac = rgb_color.blue || 0.0;
-                    #        var red = Math.floor(redFrac * 255);
-                    #        var green = Math.floor(greenFrac * 255);
-                    #        var blue = Math.floor(blueFrac * 255);
-                    #
-                    #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                    #           return rgbToCssColor_(red, green, blue);
-                    #        }
-                    #
-                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                    #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                    #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     var rgbToCssColor_ = function(red, green, blue) {
-                    #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                    #       var hexString = rgbNumber.toString(16);
-                    #       var missingZeros = 6 - hexString.length;
-                    #       var resultBuilder = [&#x27;#&#x27;];
-                    #       for (var i = 0; i &lt; missingZeros; i++) {
-                    #          resultBuilder.push(&#x27;0&#x27;);
-                    #       }
-                    #       resultBuilder.push(hexString);
-                    #       return resultBuilder.join(&#x27;&#x27;);
-                    #     };
-                    #
-                    #     // ...
-                  &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                      # the final pixel color is defined by the equation:
+                &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
                       #
-                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      # Note: For LTR text direction positive angles are in the
+                      # counterclockwise direction, whereas for RTL they are in the clockwise
+                      # direction
+                  &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
                       #
-                      # This means that a value of 1.0 corresponds to a solid color, whereas
-                      # a value of 0.0 corresponds to a completely transparent color. This
-                      # uses a wrapper message rather than a simple float scalar so that it is
-                      # possible to distinguish between a default value and the value being unset.
-                      # If omitted, this color object is to be rendered as a solid color
-                      # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
                 },
               },
+              &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format is applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                &quot;values&quot;: [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    &quot;relativeDate&quot;: &quot;A String&quot;, # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    &quot;userEnteredValue&quot;: &quot;A String&quot;, # A value the condition is based on.
+                        # The value is parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=` or a &#x27;+&#x27;).
+                  },
+                ],
+                &quot;type&quot;: &quot;A String&quot;, # The type of condition.
+              },
             },
             &quot;gradientRule&quot;: { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
                 # the interpolation points listed. The format of a cell will vary
@@ -186208,9 +186258,6 @@
               &quot;midpoint&quot;: { # A single interpolation point on a gradient conditional format. # An optional midway interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -186333,6 +186380,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -186344,9 +186394,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -186468,6 +186515,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -186479,18 +186529,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;maxpoint&quot;: { # A single interpolation point on a gradient conditional format. # The final interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -186613,6 +186660,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -186624,9 +186674,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -186748,6 +186795,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -186759,18 +186809,15 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
               &quot;minpoint&quot;: { # A single interpolation point on a gradient conditional format. # The starting interpolation point.
                   # These pin the gradient color scale according to the color,
                   # type and value chosen.
-                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
-                    # Unused if type is MIN or
-                    # MAX.
                 &quot;colorStyle&quot;: { # A color value. # The color this interpolation point should use.
                     # If color is also set, this field takes precedence.
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -186893,6 +186940,9 @@
                       #     };
                       #
                       #     // ...
+                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                     &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                         # the final pixel color is defined by the equation:
                         #
@@ -186904,9 +186954,6 @@
                         # possible to distinguish between a default value and the value being unset.
                         # If omitted, this color object is to be rendered as a solid color
                         # (as if the alpha value had been explicitly given with a value of 1.0).
-                    &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                    &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                    &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   },
                 },
                 &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
@@ -187028,6 +187075,9 @@
                     #     };
                     #
                     #     // ...
+                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                   &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                       # the final pixel color is defined by the equation:
                       #
@@ -187039,11 +187089,11 @@
                       # possible to distinguish between a default value and the value being unset.
                       # If omitted, this color object is to be rendered as a solid color
                       # (as if the alpha value had been explicitly given with a value of 1.0).
-                  &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                  &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                  &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 },
                 &quot;type&quot;: &quot;A String&quot;, # How the value should be interpreted.
+                &quot;value&quot;: &quot;A String&quot;, # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
               },
             },
           },
@@ -187061,7 +187111,6 @@
             &quot;columnMetadata&quot;: [ # Metadata about the requested columns in the grid, starting with the column
                 # in start_column.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -187093,14 +187142,15 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;rowData&quot;: [ # The data in the grid, one entry per row,
@@ -187110,47 +187160,16 @@
               { # Data about each cell in a row.
                 &quot;values&quot;: [ # The values in the row, one per column.
                   { # Data about a specific cell.
+                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
+                        # This is the value as it&#x27;s shown to the user.
+                        # This field is read-only.
                     &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
                         # is computed dynamically based on its data, grouping, filters, values,
                         # etc. Only the top-left cell of the pivot table contains the pivot table
                         # definition. The other cells will contain the calculated values of the
                         # results of the pivot in their effective_value fields.
-                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
                         { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
                           &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
                               # This is only valid for row groupings and is ignored by columns.
                               #
@@ -187173,13 +187192,6 @@
                               &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -187188,6 +187200,13 @@
                                 &quot;numberValue&quot;: 3.14, # Represents a double value.
                                     # Note: Dates, Times and DateTimes are represented as doubles in
                                     # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                               },
                             },
                           ],
@@ -187303,13 +187322,6 @@
                                       # group within a given ManualRule. Items that do not appear in any
                                       # group will appear on their own.
                                     { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                           # Leading single quotes are not included. For example, if the user typed
                                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -187318,17 +187330,17 @@
                                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                                           # Note: Dates, Times and DateTimes are represented as doubles in
                                           # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     },
                                   ],
                                   &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
                                       # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                                         # Leading single quotes are not included. For example, if the user typed
                                         # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -187337,6 +187349,13 @@
                                     &quot;numberValue&quot;: 3.14, # Represents a double value.
                                         # Note: Dates, Times and DateTimes are represented as doubles in
                                         # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
                                   },
                                 },
                               ],
@@ -187360,6 +187379,303 @@
                               #     +--------------+---------+-------+
                               #     | Grand Total  |    1110 |   636 |
                               #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
+                        },
+                      ],
+                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
+                          # or vertically (as rows).
+                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
+                          #
+                          # The filters are applied before aggregating data into the pivot table.
+                          # The map&#x27;s key is the column offset of the source range that you want to
+                          # filter, and the value is the criteria for that column.
+                          #
+                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
+                          # for column `C`, whereas the key `1` is for column `D`.
+                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
+                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
+                            &quot;A String&quot;,
+                          ],
+                        },
+                      },
+                      &quot;rows&quot;: [ # Each row grouping in the pivot table.
+                        { # A single grouping (either row or column) in a pivot table.
+                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
+                              # This is only valid for row groupings and is ignored by columns.
+                              #
+                              # By default, we minimize repitition of headings by not showing higher
+                              # level headings where they are the same. For example, even though the
+                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
+                              # it is redundant with previous rows. Setting repeat_headings to true
+                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
+                              #
+                              #     +--------------+
+                              #     | Q1     | Jan |
+                              #     |        | Feb |
+                              #     |        | Mar |
+                              #     +--------+-----+
+                              #     | Q1 Total     |
+                              #     +--------------+
+                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
+                            { # Metadata about a value in a pivot grouping.
+                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
+                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                  # (Note that formulaValue is not valid,
+                                  #  because the values will be calculated.)
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            },
+                          ],
+                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
+                              #
+                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                              # means this group refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
+                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
+                              # in the source data column rather than breaking out each individual value.
+                              # Only one PivotGroup with a group rule may be added for each column in
+                              # the source data, though on any given column you may add both a
+                              # PivotGroup that has a rule and a PivotGroup that does not.
+                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
+                                # buckets of a constant size. All values from HistogramRule.start to
+                                # HistogramRule.end are placed into groups of size
+                                # HistogramRule.interval. In addition, all values below
+                                # HistogramRule.start are placed in one group, and all values above
+                                # HistogramRule.end are placed in another. Only
+                                # HistogramRule.interval is required, though if HistogramRule.start
+                                # and HistogramRule.end are both provided, HistogramRule.start must
+                                # be less than HistogramRule.end. For example, a pivot table showing
+                                # average purchase amount by age that has 50+ rows:
+                                #
+                                #     +-----+-------------------+
+                                #     | Age | AVERAGE of Amount |
+                                #     +-----+-------------------+
+                                #     | 16  |            $27.13 |
+                                #     | 17  |             $5.24 |
+                                #     | 18  |            $20.15 |
+                                #     ...
+                                #     +-----+-------------------+
+                                # could be turned into a pivot table that looks like the one below by
+                                # applying a histogram group rule with a HistogramRule.start of 25,
+                                # an HistogramRule.interval of 20, and an HistogramRule.end
+                                # of 65.
+                                #
+                                #     +-------------+-------------------+
+                                #     | Grouped Age | AVERAGE of Amount |
+                                #     +-------------+-------------------+
+                                #     | &lt; 25        |            $19.34 |
+                                #     | 25-45       |            $31.43 |
+                                #     | 45-65       |            $35.87 |
+                                #     | &gt; 65        |            $27.55 |
+                                #     +-------------+-------------------+
+                                #     | Grand Total |            $29.12 |
+                                #     +-------------+-------------------+
+                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
+                                  # of constant size. Values below start are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
+                                  # of constant size. Values above end are lumped into a single bucket.
+                                  # This field is optional.
+                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
+                            },
+                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
+                                # buckets based on selected parts of their date or time values. For example,
+                                # consider a pivot table showing sales transactions by date:
+                                #
+                                #     +----------+--------------+
+                                #     | Date     | SUM of Sales |
+                                #     +----------+--------------+
+                                #     | 1/1/2017 |      $621.14 |
+                                #     | 2/3/2017 |      $708.84 |
+                                #     | 5/8/2017 |      $326.84 |
+                                #     ...
+                                #     +----------+--------------+
+                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
+                                # results in the following pivot table.
+                                #
+                                #     +--------------+--------------+
+                                #     | Grouped Date | SUM of Sales |
+                                #     +--------------+--------------+
+                                #     | 2017-Jan     |   $53,731.78 |
+                                #     | 2017-Feb     |   $83,475.32 |
+                                #     | 2017-Mar     |   $94,385.05 |
+                                #     ...
+                                #     +--------------+--------------+
+                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
+                            },
+                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
+                                # buckets with names of your choosing. For example, a pivot table that
+                                # aggregates population by state:
+                                #
+                                #     +-------+-------------------+
+                                #     | State | SUM of Population |
+                                #     +-------+-------------------+
+                                #     | AK    |               0.7 |
+                                #     | AL    |               4.8 |
+                                #     | AR    |               2.9 |
+                                #     ...
+                                #     +-------+-------------------+
+                                # could be turned into a pivot table that aggregates population by time zone
+                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
+                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
+                                # Note that a similar effect could be achieved by adding a time zone column
+                                # to the source data and adjusting the pivot table.
+                                #
+                                #     +-----------+-------------------+
+                                #     | Time Zone | SUM of Population |
+                                #     +-----------+-------------------+
+                                #     | Central   |             106.3 |
+                                #     | Eastern   |             151.9 |
+                                #     | Mountain  |              17.4 |
+                                #     ...
+                                #     +-----------+-------------------+
+                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
+                                  # that map to each group name.
+                                { # A group name and a list of items from the source data that should be placed
+                                    # in the group with this name.
+                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
+                                      # item may be a string, number, or boolean. Items may appear in at most one
+                                      # group within a given ManualRule. Items that do not appear in any
+                                      # group will appear on their own.
+                                    { # The kinds of value that a cell in a spreadsheet can have.
+                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                          # Leading single quotes are not included. For example, if the user typed
+                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                          # `&quot;123&quot;`.
+                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                          # Note: Dates, Times and DateTimes are represented as doubles in
+                                          # &quot;serial number&quot; format.
+                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                          # This field is read-only.
+                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                            # (in the spreadsheet&#x27;s locale).
+                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                      },
+                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                    },
+                                  ],
+                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
+                                      # ManualRule must have a unique group name.
+                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                        # Leading single quotes are not included. For example, if the user typed
+                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                        # `&quot;123&quot;`.
+                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                        # Note: Dates, Times and DateTimes are represented as doubles in
+                                        # &quot;serial number&quot; format.
+                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                        # This field is read-only.
+                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                          # (in the spreadsheet&#x27;s locale).
+                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                    },
+                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                                  },
+                                },
+                              ],
+                            },
+                          },
+                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
+                              # example, in the following pivot table, the row label is `Region` (which
+                              # could be renamed to `State`) and the column label is `Product` (which
+                              # could be renamed `Item`). Pivot tables created before December 2017 do
+                              # not have header labels. If you&#x27;d like to add header labels to an existing
+                              # pivot table, please delete the existing pivot table and then create a new
+                              # pivot table with same parameters.
+                              #
+                              #     +--------------+---------+-------+
+                              #     | SUM of Units | Product |       |
+                              #     | Region       | Pen     | Paper |
+                              #     +--------------+---------+-------+
+                              #     | New York     |     345 |    98 |
+                              #     | Oregon       |     234 |   123 |
+                              #     | Tennessee    |     531 |   415 |
+                              #     +--------------+---------+-------+
+                              #     | Grand Total  |    1110 |   636 |
+                              #     +--------------+---------+-------+
+                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
+                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
+                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group&#x27;s values.
+                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group &amp; two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
+                                # this would correspond to using the &quot;Total&quot; of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
+                                    # `&quot;123&quot;`.
+                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # &quot;serial number&quot; format.
+                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                                      # (in the spreadsheet&#x27;s locale).
+                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                                },
+                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
+                              },
+                            ],
+                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
+                                # grouping should be sorted by.
+                          },
                         },
                       ],
                       &quot;source&quot;: { # A range on a sheet. # The range the pivot table is reading data from.
@@ -187391,20 +187707,14 @@
                           # If the start index equals the end index, then the range is empty.
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
-                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                         &quot;sheetId&quot;: 42, # The sheet this range is on.
                         &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
                         &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
                       },
                       &quot;values&quot;: [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
-                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
-                              # the result of a calculation with another pivot value. For example, if
-                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
-                              # pivot values are displayed as the percentage of the grand total. In
-                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
-                              # pivot table.
                           &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this value reads from.
                               #
                               # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
@@ -187419,275 +187729,15 @@
                               # If sourceColumnOffset is set, then `CUSTOM`
                               # is not supported.
                           &quot;name&quot;: &quot;A String&quot;, # A name to use for the value.
+                          &quot;calculatedDisplayType&quot;: &quot;A String&quot;, # If specified, indicates that pivot values should be displayed as
+                              # the result of a calculation with another pivot value. For example, if
+                              # calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the
+                              # pivot values are displayed as the percentage of the grand total. In
+                              # the Sheets UI, this is referred to as &quot;Show As&quot; in the value section of a
+                              # pivot table.
                         },
                       ],
-                      &quot;columns&quot;: [ # Each column grouping in the pivot table.
-                        { # A single grouping (either row or column) in a pivot table.
-                          &quot;showTotals&quot;: True or False, # True if the pivot table should include the totals for this grouping.
-                          &quot;sortOrder&quot;: &quot;A String&quot;, # The order the values in this group should be sorted.
-                          &quot;valueBucket&quot;: { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
-                              # If not specified, sorting is alphabetical by this group&#x27;s values.
-                            &quot;valuesIndex&quot;: 42, # The offset in the PivotTable.values list which the values in this
-                                # grouping should be sorted by.
-                            &quot;buckets&quot;: [ # Determines the bucket from which values are chosen to sort.
-                                #
-                                # For example, in a pivot table with one row group &amp; two column groups,
-                                # the row group can list up to two values. The first value corresponds
-                                # to a value within the first column group, and the second value
-                                # corresponds to a value in the second column group.  If no values
-                                # are listed, this would indicate that the row should be sorted according
-                                # to the &quot;Grand Total&quot; over the column groups. If a single value is listed,
-                                # this would correspond to using the &quot;Total&quot; of that bucket.
-                              { # The kinds of value that a cell in a spreadsheet can have.
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            ],
-                          },
-                          &quot;repeatHeadings&quot;: True or False, # True if the headings in this pivot group should be repeated.
-                              # This is only valid for row groupings and is ignored by columns.
-                              #
-                              # By default, we minimize repitition of headings by not showing higher
-                              # level headings where they are the same. For example, even though the
-                              # third row below corresponds to &quot;Q1 Mar&quot;, &quot;Q1&quot; is not shown because
-                              # it is redundant with previous rows. Setting repeat_headings to true
-                              # would cause &quot;Q1&quot; to be repeated for &quot;Feb&quot; and &quot;Mar&quot;.
-                              #
-                              #     +--------------+
-                              #     | Q1     | Jan |
-                              #     |        | Feb |
-                              #     |        | Mar |
-                              #     +--------+-----+
-                              #     | Q1 Total     |
-                              #     +--------------+
-                          &quot;valueMetadata&quot;: [ # Metadata about values in the grouping.
-                            { # Metadata about a value in a pivot grouping.
-                              &quot;collapsed&quot;: True or False, # True if the data corresponding to the value is collapsed.
-                              &quot;value&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
-                                  # (Note that formulaValue is not valid,
-                                  #  because the values will be calculated.)
-                                &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                    # This field is read-only.
-                                  &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                      # (in the spreadsheet&#x27;s locale).
-                                  &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                },
-                                &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                    # Leading single quotes are not included. For example, if the user typed
-                                    # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                    # `&quot;123&quot;`.
-                                &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # &quot;serial number&quot; format.
-                              },
-                            },
-                          ],
-                          &quot;sourceColumnOffset&quot;: 42, # The column offset of the source range that this grouping is based on.
-                              #
-                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                              # means this group refers to column `C`, whereas the offset `1` would
-                              # refer to column `D`.
-                          &quot;groupRule&quot;: { # An optional setting on a PivotGroup that defines buckets for the values # The group rule to apply to this row/column group.
-                              # in the source data column rather than breaking out each individual value.
-                              # Only one PivotGroup with a group rule may be added for each column in
-                              # the source data, though on any given column you may add both a
-                              # PivotGroup that has a rule and a PivotGroup that does not.
-                            &quot;histogramRule&quot;: { # Allows you to organize the numeric values in a source data column into # A HistogramRule.
-                                # buckets of a constant size. All values from HistogramRule.start to
-                                # HistogramRule.end are placed into groups of size
-                                # HistogramRule.interval. In addition, all values below
-                                # HistogramRule.start are placed in one group, and all values above
-                                # HistogramRule.end are placed in another. Only
-                                # HistogramRule.interval is required, though if HistogramRule.start
-                                # and HistogramRule.end are both provided, HistogramRule.start must
-                                # be less than HistogramRule.end. For example, a pivot table showing
-                                # average purchase amount by age that has 50+ rows:
-                                #
-                                #     +-----+-------------------+
-                                #     | Age | AVERAGE of Amount |
-                                #     +-----+-------------------+
-                                #     | 16  |            $27.13 |
-                                #     | 17  |             $5.24 |
-                                #     | 18  |            $20.15 |
-                                #     ...
-                                #     +-----+-------------------+
-                                # could be turned into a pivot table that looks like the one below by
-                                # applying a histogram group rule with a HistogramRule.start of 25,
-                                # an HistogramRule.interval of 20, and an HistogramRule.end
-                                # of 65.
-                                #
-                                #     +-------------+-------------------+
-                                #     | Grouped Age | AVERAGE of Amount |
-                                #     +-------------+-------------------+
-                                #     | &lt; 25        |            $19.34 |
-                                #     | 25-45       |            $31.43 |
-                                #     | 45-65       |            $35.87 |
-                                #     | &gt; 65        |            $27.55 |
-                                #     +-------------+-------------------+
-                                #     | Grand Total |            $29.12 |
-                                #     +-------------+-------------------+
-                              &quot;start&quot;: 3.14, # The minimum value at which items are placed into buckets
-                                  # of constant size. Values below start are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;end&quot;: 3.14, # The maximum value at which items are placed into buckets
-                                  # of constant size. Values above end are lumped into a single bucket.
-                                  # This field is optional.
-                              &quot;interval&quot;: 3.14, # The size of the buckets that are created. Must be positive.
-                            },
-                            &quot;dateTimeRule&quot;: { # Allows you to organize the date-time values in a source data column into # A DateTimeRule.
-                                # buckets based on selected parts of their date or time values. For example,
-                                # consider a pivot table showing sales transactions by date:
-                                #
-                                #     +----------+--------------+
-                                #     | Date     | SUM of Sales |
-                                #     +----------+--------------+
-                                #     | 1/1/2017 |      $621.14 |
-                                #     | 2/3/2017 |      $708.84 |
-                                #     | 5/8/2017 |      $326.84 |
-                                #     ...
-                                #     +----------+--------------+
-                                # Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH
-                                # results in the following pivot table.
-                                #
-                                #     +--------------+--------------+
-                                #     | Grouped Date | SUM of Sales |
-                                #     +--------------+--------------+
-                                #     | 2017-Jan     |   $53,731.78 |
-                                #     | 2017-Feb     |   $83,475.32 |
-                                #     | 2017-Mar     |   $94,385.05 |
-                                #     ...
-                                #     +--------------+--------------+
-                              &quot;type&quot;: &quot;A String&quot;, # The type of date-time grouping to apply.
-                            },
-                            &quot;manualRule&quot;: { # Allows you to manually organize the values in a source data column into # A ManualRule.
-                                # buckets with names of your choosing. For example, a pivot table that
-                                # aggregates population by state:
-                                #
-                                #     +-------+-------------------+
-                                #     | State | SUM of Population |
-                                #     +-------+-------------------+
-                                #     | AK    |               0.7 |
-                                #     | AL    |               4.8 |
-                                #     | AR    |               2.9 |
-                                #     ...
-                                #     +-------+-------------------+
-                                # could be turned into a pivot table that aggregates population by time zone
-                                # by providing a list of groups (for example, groupName = &#x27;Central&#x27;,
-                                # items = [&#x27;AL&#x27;, &#x27;AR&#x27;, &#x27;IA&#x27;, ...]) to a manual group rule.
-                                # Note that a similar effect could be achieved by adding a time zone column
-                                # to the source data and adjusting the pivot table.
-                                #
-                                #     +-----------+-------------------+
-                                #     | Time Zone | SUM of Population |
-                                #     +-----------+-------------------+
-                                #     | Central   |             106.3 |
-                                #     | Eastern   |             151.9 |
-                                #     | Mountain  |              17.4 |
-                                #     ...
-                                #     +-----------+-------------------+
-                              &quot;groups&quot;: [ # The list of group names and the corresponding items from the source data
-                                  # that map to each group name.
-                                { # A group name and a list of items from the source data that should be placed
-                                    # in the group with this name.
-                                  &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each
-                                      # item may be a string, number, or boolean. Items may appear in at most one
-                                      # group within a given ManualRule. Items that do not appear in any
-                                      # group will appear on their own.
-                                    { # The kinds of value that a cell in a spreadsheet can have.
-                                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                          # This field is read-only.
-                                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                            # (in the spreadsheet&#x27;s locale).
-                                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                      },
-                                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                      &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                          # Leading single quotes are not included. For example, if the user typed
-                                          # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                          # `&quot;123&quot;`.
-                                      &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                          # Note: Dates, Times and DateTimes are represented as doubles in
-                                          # &quot;serial number&quot; format.
-                                    },
-                                  ],
-                                  &quot;groupName&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The group name, which must be a string. Each group in a given
-                                      # ManualRule must have a unique group name.
-                                    &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                                        # This field is read-only.
-                                      &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                                          # (in the spreadsheet&#x27;s locale).
-                                      &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                                    },
-                                    &quot;boolValue&quot;: True or False, # Represents a boolean value.
-                                    &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
-                                        # Leading single quotes are not included. For example, if the user typed
-                                        # `&#x27;123` into the UI, this would be represented as a `stringValue` of
-                                        # `&quot;123&quot;`.
-                                    &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value.
-                                        # Note: Dates, Times and DateTimes are represented as doubles in
-                                        # &quot;serial number&quot; format.
-                                  },
-                                },
-                              ],
-                            },
-                          },
-                          &quot;label&quot;: &quot;A String&quot;, # The labels to use for the row/column groups which can be customized. For
-                              # example, in the following pivot table, the row label is `Region` (which
-                              # could be renamed to `State`) and the column label is `Product` (which
-                              # could be renamed `Item`). Pivot tables created before December 2017 do
-                              # not have header labels. If you&#x27;d like to add header labels to an existing
-                              # pivot table, please delete the existing pivot table and then create a new
-                              # pivot table with same parameters.
-                              #
-                              #     +--------------+---------+-------+
-                              #     | SUM of Units | Product |       |
-                              #     | Region       | Pen     | Paper |
-                              #     +--------------+---------+-------+
-                              #     | New York     |     345 |    98 |
-                              #     | Oregon       |     234 |   123 |
-                              #     | Tennessee    |     531 |   415 |
-                              #     +--------------+---------+-------+
-                              #     | Grand Total  |    1110 |   636 |
-                              #     +--------------+---------+-------+
-                        },
-                      ],
-                      &quot;valueLayout&quot;: &quot;A String&quot;, # Whether values should be listed horizontally (as columns)
-                          # or vertically (as rows).
-                      &quot;criteria&quot;: { # An optional mapping of filters per source column offset.
-                          #
-                          # The filters are applied before aggregating data into the pivot table.
-                          # The map&#x27;s key is the column offset of the source range that you want to
-                          # filter, and the value is the criteria for that column.
-                          #
-                          # For example, if the source was `C10:E15`, a key of `0` will have the filter
-                          # for column `C`, whereas the key `1` is for column `D`.
-                        &quot;a_key&quot;: { # Criteria for showing/hiding rows in a pivot table.
-                          &quot;visibleValues&quot;: [ # Values that should be included.  Values not listed here are excluded.
-                            &quot;A String&quot;,
-                          ],
-                        },
-                      },
                     },
-                    &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell.
-                        # This is the value as it&#x27;s shown to the user.
-                        # This field is read-only.
                     &quot;textFormatRuns&quot;: [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
                         # on user entered strings, not formulas, bools, or numbers.
                         # Runs start at specific indexes in the text and continue until the next
@@ -187826,6 +187876,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -187837,12 +187890,9 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
-                          &quot;bold&quot;: True or False, # True if the text is bold.
+                          &quot;italic&quot;: True or False, # True if the text is italicized.
                           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -187962,6 +188012,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -187973,11 +188026,8 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
-                          &quot;italic&quot;: True or False, # True if the text is italicized.
+                          &quot;bold&quot;: True or False, # True if the text is bold.
                           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         },
@@ -187988,13 +188038,6 @@
                         # the calculated value.  For cells with literals, this is
                         # the same as the user_entered_value.
                         # This field is read-only.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -188003,17 +188046,165 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
+                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;effectiveFormat&quot;: { # The format of a cell. # The effective format being used by the cell.
                         # This includes the results of applying any conditional formatting and,
                         # if the cell contains a formula, the computed number format.
                         # If the effective format is the default format, effective format will
                         # not be written.
                         # This field is read-only.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -188022,6 +188213,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -188148,6 +188340,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -188159,9 +188354,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -188283,6 +188475,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -188294,9 +188489,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -188425,6 +188617,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -188436,9 +188631,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -188560,6 +188752,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -188571,9 +188766,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -188702,6 +188894,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -188713,9 +188908,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -188837,6 +189029,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -188848,9 +189043,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -188979,6 +189171,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -188990,9 +189185,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -189114,6 +189306,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -189125,9 +189320,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -189259,6 +189451,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -189270,12 +189465,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -189395,6 +189587,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -189406,35 +189601,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -189557,6 +189728,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -189568,161 +189742,177 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
-                    &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;userEnteredFormat&quot;: { # The format of a cell. # The format the user entered for the cell.
                         #
                         # When writing, the new format will be merged with the existing format.
+                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
+                        &quot;left&quot;: 42, # The left padding of the cell.
+                        &quot;top&quot;: 42, # The top padding of the cell.
+                        &quot;right&quot;: 42, # The right padding of the cell.
+                      },
+                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+                          #
+                          # Note: this proto does not carry information about the absolute color space
+                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+                          # space.
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [[Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha &lt;= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = [&#x27;#&#x27;];
+                          #       for (var i = 0; i &lt; missingZeros; i++) {
+                          #          resultBuilder.push(&#x27;0&#x27;);
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join(&#x27;&#x27;);
+                          #     };
+                          #
+                          #     // ...
+                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                      },
                       &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
                       &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
                       &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
                         &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user&#x27;s locale will be used if necessary for the given type.
@@ -189731,6 +189921,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
                             # When writing, this field must be set.
                       },
+                      &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
                       &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
                         &quot;left&quot;: { # A border along a cell. # The left border of the cell.
                           &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -189857,6 +190048,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -189868,9 +190062,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -189992,6 +190183,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -190003,9 +190197,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -190134,6 +190325,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -190145,9 +190339,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -190269,6 +190460,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -190280,9 +190474,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -190411,6 +190602,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -190422,9 +190616,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -190546,6 +190737,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -190557,9 +190751,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -190688,6 +190879,9 @@
                                 #     };
                                 #
                                 #     // ...
+                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                   # the final pixel color is defined by the equation:
                                   #
@@ -190699,9 +190893,6 @@
                                   # possible to distinguish between a default value and the value being unset.
                                   # If omitted, this color object is to be rendered as a solid color
                                   # (as if the alpha value had been explicitly given with a value of 1.0).
-                              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             },
                           },
                           &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -190823,6 +191014,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -190834,9 +191028,6 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                           &quot;style&quot;: &quot;A String&quot;, # The style of the border.
                         },
@@ -190968,6 +191159,9 @@
                               #     };
                               #
                               #     // ...
+                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                                 # the final pixel color is defined by the equation:
                                 #
@@ -190979,12 +191173,9 @@
                                 # possible to distinguish between a default value and the value being unset.
                                 # If omitted, this color object is to be rendered as a solid color
                                 # (as if the alpha value had been explicitly given with a value of 1.0).
-                            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           },
                         },
-                        &quot;bold&quot;: True or False, # True if the text is bold.
+                        &quot;italic&quot;: True or False, # True if the text is italicized.
                         &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -191104,6 +191295,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -191115,35 +191309,11 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
-                        &quot;italic&quot;: True or False, # True if the text is italicized.
+                        &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       },
-                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-                            # Measured in degrees. Valid values are between -90 and 90. Positive
-                            # angles are angled upwards, negative are angled downwards.
-                            #
-                            # Note: For LTR text direction positive angles are in the
-                            # counterclockwise direction, whereas for RTL they are in the clockwise
-                            # direction
-                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-                            # characters is unchanged.
-                            # For example:
-                            #
-                            #     | V |
-                            #     | e |
-                            #     | r |
-                            #     | t |
-                            #     | i |
-                            #     | c |
-                            #     | a |
-                            #     | l |
-                      },
                       &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
                           # If background_color is also set, this field takes precedence.
                         &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -191266,6 +191436,9 @@
                             #     };
                             #
                             #     // ...
+                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                           &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                               # the final pixel color is defined by the equation:
                               #
@@ -191277,163 +191450,33 @@
                               # possible to distinguish between a default value and the value being unset.
                               # If omitted, this color object is to be rendered as a solid color
                               # (as if the alpha value had been explicitly given with a value of 1.0).
-                          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                         },
                       },
-                      &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-                          # When updating padding, every field must be specified.
-                        &quot;right&quot;: 42, # The right padding of the cell.
-                        &quot;bottom&quot;: 42, # The bottom padding of the cell.
-                        &quot;left&quot;: 42, # The left padding of the cell.
-                        &quot;top&quot;: 42, # The top padding of the cell.
-                      },
-                      &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-                          # for simplicity of conversion to/from color representations in various
-                          # languages over compactness; for example, the fields of this representation
-                          # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-                          # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-                          # method in iOS; and, with just a little work, it can be easily formatted into
-                          # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-                          #
-                          # Note: this proto does not carry information about the absolute color space
-                          # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-                          # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-                          # space.
-                          #
-                          # Example (Java):
-                          #
-                          #      import com.google.type.Color;
-                          #
-                          #      // ...
-                          #      public static java.awt.Color fromProto(Color protocolor) {
-                          #        float alpha = protocolor.hasAlpha()
-                          #            ? protocolor.getAlpha().getValue()
-                          #            : 1.0;
-                          #
-                          #        return new java.awt.Color(
-                          #            protocolor.getRed(),
-                          #            protocolor.getGreen(),
-                          #            protocolor.getBlue(),
-                          #            alpha);
-                          #      }
-                          #
-                          #      public static Color toProto(java.awt.Color color) {
-                          #        float red = (float) color.getRed();
-                          #        float green = (float) color.getGreen();
-                          #        float blue = (float) color.getBlue();
-                          #        float denominator = 255.0;
-                          #        Color.Builder resultBuilder =
-                          #            Color
-                          #                .newBuilder()
-                          #                .setRed(red / denominator)
-                          #                .setGreen(green / denominator)
-                          #                .setBlue(blue / denominator);
-                          #        int alpha = color.getAlpha();
-                          #        if (alpha != 255) {
-                          #          result.setAlpha(
-                          #              FloatValue
-                          #                  .newBuilder()
-                          #                  .setValue(((float) alpha) / denominator)
-                          #                  .build());
-                          #        }
-                          #        return resultBuilder.build();
-                          #      }
-                          #      // ...
-                          #
-                          # Example (iOS / Obj-C):
-                          #
-                          #      // ...
-                          #      static UIColor* fromProto(Color* protocolor) {
-                          #         float red = [protocolor red];
-                          #         float green = [protocolor green];
-                          #         float blue = [protocolor blue];
-                          #         FloatValue* alpha_wrapper = [protocolor alpha];
-                          #         float alpha = 1.0;
-                          #         if (alpha_wrapper != nil) {
-                          #           alpha = [alpha_wrapper value];
-                          #         }
-                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-                          #      }
-                          #
-                          #      static Color* toProto(UIColor* color) {
-                          #          CGFloat red, green, blue, alpha;
-                          #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-                          #            return nil;
-                          #          }
-                          #          Color* result = [[Color alloc] init];
-                          #          [result setRed:red];
-                          #          [result setGreen:green];
-                          #          [result setBlue:blue];
-                          #          if (alpha &lt;= 0.9999) {
-                          #            [result setAlpha:floatWrapperWithValue(alpha)];
-                          #          }
-                          #          [result autorelease];
-                          #          return result;
-                          #     }
-                          #     // ...
-                          #
-                          #  Example (JavaScript):
-                          #
-                          #     // ...
-                          #
-                          #     var protoToCssColor = function(rgb_color) {
-                          #        var redFrac = rgb_color.red || 0.0;
-                          #        var greenFrac = rgb_color.green || 0.0;
-                          #        var blueFrac = rgb_color.blue || 0.0;
-                          #        var red = Math.floor(redFrac * 255);
-                          #        var green = Math.floor(greenFrac * 255);
-                          #        var blue = Math.floor(blueFrac * 255);
-                          #
-                          #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-                          #           return rgbToCssColor_(red, green, blue);
-                          #        }
-                          #
-                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
-                          #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-                          #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     var rgbToCssColor_ = function(red, green, blue) {
-                          #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-                          #       var hexString = rgbNumber.toString(16);
-                          #       var missingZeros = 6 - hexString.length;
-                          #       var resultBuilder = [&#x27;#&#x27;];
-                          #       for (var i = 0; i &lt; missingZeros; i++) {
-                          #          resultBuilder.push(&#x27;0&#x27;);
-                          #       }
-                          #       resultBuilder.push(hexString);
-                          #       return resultBuilder.join(&#x27;&#x27;);
-                          #     };
-                          #
-                          #     // ...
-                        &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-                            # the final pixel color is defined by the equation:
+                      &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
                             #
-                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            # Note: For LTR text direction positive angles are in the
+                            # counterclockwise direction, whereas for RTL they are in the clockwise
+                            # direction
+                        &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
                             #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color. This
-                            # uses a wrapper message rather than a simple float scalar so that it is
-                            # possible to distinguish between a default value and the value being unset.
-                            # If omitted, this color object is to be rendered as a solid color
-                            # (as if the alpha value had been explicitly given with a value of 1.0).
-                        &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                        &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                        &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
                       },
                     },
                     &quot;userEnteredValue&quot;: { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `&#x27;Hello&#x27;`, or `=NOW()`
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # serial number format.
-                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
-                          # This field is read-only.
-                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
-                            # (in the spreadsheet&#x27;s locale).
-                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
-                      },
-                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `&#x27;123` into the UI, this would be represented as a `stringValue` of
@@ -191442,13 +191485,17 @@
                       &quot;numberValue&quot;: 3.14, # Represents a double value.
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # &quot;serial number&quot; format.
+                      &quot;errorValue&quot;: { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        &quot;message&quot;: &quot;A String&quot;, # A message with more information about the error
+                            # (in the spreadsheet&#x27;s locale).
+                        &quot;type&quot;: &quot;A String&quot;, # The type of error.
+                      },
+                      &quot;boolValue&quot;: True or False, # Represents a boolean value.
                     },
                     &quot;dataValidation&quot;: { # A data validation rule. # A data validation rule on the cell, if any.
                         #
                         # When writing, the new data validation rule will overwrite any prior rule.
-                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
-                          # If true, &quot;List&quot; conditions will show a dropdown.
-                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                       &quot;inputMessage&quot;: &quot;A String&quot;, # A message to show the user when adding data to the cell.
                       &quot;condition&quot;: { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                           # BooleanConditions are used by conditional formatting,
@@ -191475,6 +191522,9 @@
                         ],
                         &quot;type&quot;: &quot;A String&quot;, # The type of condition.
                       },
+                      &quot;showCustomUi&quot;: True or False, # True if the UI should be customized based on the kind of condition.
+                          # If true, &quot;List&quot; conditions will show a dropdown.
+                      &quot;strict&quot;: True or False, # True if invalid data should be rejected.
                     },
                     &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any.
                         # This field is read-only.  (To set it, use a `=HYPERLINK` formula
@@ -191487,7 +191537,6 @@
             &quot;rowMetadata&quot;: [ # Metadata about the requested rows in the grid, starting with the row
                 # in start_row.
               { # Properties about a dimension.
-                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
                 &quot;hiddenByFilter&quot;: True or False, # True if this dimension is being filtered.
                     # This field is read-only.
                 &quot;hiddenByUser&quot;: True or False, # True if this dimension is explicitly hidden.
@@ -191519,33 +191568,200 @@
                           # Indexes are half open: the start index is inclusive
                           # and the end index is exclusive.
                           # Missing indexes indicate the range is unbounded on that side.
+                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                         &quot;sheetId&quot;: 42, # The sheet this span is on.
                         &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
                         &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-                        &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
                       },
                     },
                   },
                 ],
+                &quot;pixelSize&quot;: 42, # The height (if a row) or width (if a column) of the dimension in pixels.
               },
             ],
             &quot;startColumn&quot;: 42, # The first column this GridData refers to, zero-based.
             &quot;startRow&quot;: 42, # The first row this GridData refers to, zero-based.
           },
         ],
+        &quot;rowGroups&quot;: [ # All row groups on this sheet, ordered by increasing range start index, then
+            # by group depth.
+          { # A group over an interval of rows or columns on a sheet, which can contain or
+              # be contained within other groups. A group can be collapsed or expanded as a
+              # unit on the sheet.
+            &quot;collapsed&quot;: True or False, # This field is true if this group is collapsed. A collapsed group remains
+                # collapsed if an overlapping group at a shallower depth is expanded.
+                #
+                # A true value does not imply that all dimensions within the group are
+                # hidden, since a dimension&#x27;s visibility can change independently from this
+                # group property. However, when this property is updated, all dimensions
+                # within it are set to hidden if this field is true, or set to visible if
+                # this field is false.
+            &quot;range&quot;: { # A range along a single dimension on a sheet. # The range over which this group exists.
+                # All indexes are zero-based.
+                # Indexes are half open: the start index is inclusive
+                # and the end index is exclusive.
+                # Missing indexes indicate the range is unbounded on that side.
+              &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
+              &quot;sheetId&quot;: 42, # The sheet this span is on.
+              &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
+              &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
+            },
+            &quot;depth&quot;: 42, # The depth of the group, representing how many groups have a range that
+                # wholly contains the range of this group.
+          },
+        ],
       },
     ],
     &quot;spreadsheetId&quot;: &quot;A String&quot;, # The ID of the spreadsheet.
         # This field is read-only.
     &quot;properties&quot;: { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
-      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
       &quot;defaultFormat&quot;: { # The format of a cell. # The default format of all cells in the spreadsheet.
           # CellData.effectiveFormat will not be set if
           # the cell&#x27;s format is equal to this default format. This field is read-only.
+        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
+            # When updating padding, every field must be specified.
+          &quot;bottom&quot;: 42, # The bottom padding of the cell.
+          &quot;left&quot;: 42, # The left padding of the cell.
+          &quot;top&quot;: 42, # The top padding of the cell.
+          &quot;right&quot;: 42, # The right padding of the cell.
+        },
+        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+            # for simplicity of conversion to/from color representations in various
+            # languages over compactness; for example, the fields of this representation
+            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
+            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
+            # method in iOS; and, with just a little work, it can be easily formatted into
+            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
+            #
+            # Note: this proto does not carry information about the absolute color space
+            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+            # space.
+            #
+            # Example (Java):
+            #
+            #      import com.google.type.Color;
+            #
+            #      // ...
+            #      public static java.awt.Color fromProto(Color protocolor) {
+            #        float alpha = protocolor.hasAlpha()
+            #            ? protocolor.getAlpha().getValue()
+            #            : 1.0;
+            #
+            #        return new java.awt.Color(
+            #            protocolor.getRed(),
+            #            protocolor.getGreen(),
+            #            protocolor.getBlue(),
+            #            alpha);
+            #      }
+            #
+            #      public static Color toProto(java.awt.Color color) {
+            #        float red = (float) color.getRed();
+            #        float green = (float) color.getGreen();
+            #        float blue = (float) color.getBlue();
+            #        float denominator = 255.0;
+            #        Color.Builder resultBuilder =
+            #            Color
+            #                .newBuilder()
+            #                .setRed(red / denominator)
+            #                .setGreen(green / denominator)
+            #                .setBlue(blue / denominator);
+            #        int alpha = color.getAlpha();
+            #        if (alpha != 255) {
+            #          result.setAlpha(
+            #              FloatValue
+            #                  .newBuilder()
+            #                  .setValue(((float) alpha) / denominator)
+            #                  .build());
+            #        }
+            #        return resultBuilder.build();
+            #      }
+            #      // ...
+            #
+            # Example (iOS / Obj-C):
+            #
+            #      // ...
+            #      static UIColor* fromProto(Color* protocolor) {
+            #         float red = [protocolor red];
+            #         float green = [protocolor green];
+            #         float blue = [protocolor blue];
+            #         FloatValue* alpha_wrapper = [protocolor alpha];
+            #         float alpha = 1.0;
+            #         if (alpha_wrapper != nil) {
+            #           alpha = [alpha_wrapper value];
+            #         }
+            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+            #      }
+            #
+            #      static Color* toProto(UIColor* color) {
+            #          CGFloat red, green, blue, alpha;
+            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
+            #            return nil;
+            #          }
+            #          Color* result = [[Color alloc] init];
+            #          [result setRed:red];
+            #          [result setGreen:green];
+            #          [result setBlue:blue];
+            #          if (alpha &lt;= 0.9999) {
+            #            [result setAlpha:floatWrapperWithValue(alpha)];
+            #          }
+            #          [result autorelease];
+            #          return result;
+            #     }
+            #     // ...
+            #
+            #  Example (JavaScript):
+            #
+            #     // ...
+            #
+            #     var protoToCssColor = function(rgb_color) {
+            #        var redFrac = rgb_color.red || 0.0;
+            #        var greenFrac = rgb_color.green || 0.0;
+            #        var blueFrac = rgb_color.blue || 0.0;
+            #        var red = Math.floor(redFrac * 255);
+            #        var green = Math.floor(greenFrac * 255);
+            #        var blue = Math.floor(blueFrac * 255);
+            #
+            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
+            #           return rgbToCssColor_(red, green, blue);
+            #        }
+            #
+            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
+            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
+            #     };
+            #
+            #     var rgbToCssColor_ = function(red, green, blue) {
+            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
+            #       var hexString = rgbNumber.toString(16);
+            #       var missingZeros = 6 - hexString.length;
+            #       var resultBuilder = [&#x27;#&#x27;];
+            #       for (var i = 0; i &lt; missingZeros; i++) {
+            #          resultBuilder.push(&#x27;0&#x27;);
+            #       }
+            #       resultBuilder.push(hexString);
+            #       return resultBuilder.join(&#x27;&#x27;);
+            #     };
+            #
+            #     // ...
+          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
+              # the final pixel color is defined by the equation:
+              #
+              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              #
+              # This means that a value of 1.0 corresponds to a solid color, whereas
+              # a value of 0.0 corresponds to a completely transparent color. This
+              # uses a wrapper message rather than a simple float scalar so that it is
+              # possible to distinguish between a default value and the value being unset.
+              # If omitted, this color object is to be rendered as a solid color
+              # (as if the alpha value had been explicitly given with a value of 1.0).
+        },
         &quot;verticalAlignment&quot;: &quot;A String&quot;, # The vertical alignment of the value in the cell.
         &quot;hyperlinkDisplayType&quot;: &quot;A String&quot;, # How a hyperlink, if it exists, should be displayed in the cell.
         &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of the value in the cell.
-        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;numberFormat&quot;: { # The number format of a cell. # A format describing how number values should be represented to the user.
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern string used for formatting.  If not set, a default pattern based on
               # the user&#x27;s locale will be used if necessary for the given type.
@@ -191554,6 +191770,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The type of the number format.
               # When writing, this field must be set.
         },
+        &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
         &quot;borders&quot;: { # The borders of the cell. # The borders of the cell.
           &quot;left&quot;: { # A border along a cell. # The left border of the cell.
             &quot;width&quot;: 42, # The width of the border, in pixels.
@@ -191680,6 +191897,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -191691,9 +191911,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -191815,6 +192032,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -191826,9 +192046,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -191957,6 +192174,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -191968,9 +192188,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -192092,6 +192309,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -192103,9 +192323,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -192234,6 +192451,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -192245,9 +192465,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -192369,6 +192586,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -192380,9 +192600,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -192511,6 +192728,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -192522,9 +192742,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
             &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -192646,6 +192863,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -192657,9 +192877,6 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
             &quot;style&quot;: &quot;A String&quot;, # The style of the border.
           },
@@ -192791,6 +193008,9 @@
                 #     };
                 #
                 #     // ...
+              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -192802,12 +193022,9 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
-              &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             },
           },
-          &quot;bold&quot;: True or False, # True if the text is bold.
+          &quot;italic&quot;: True or False, # True if the text is italicized.
           &quot;foregroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -192927,6 +193144,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -192938,35 +193158,11 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
-          &quot;italic&quot;: True or False, # True if the text is italicized.
+          &quot;bold&quot;: True or False, # True if the text is bold.
           &quot;strikethrough&quot;: True or False, # True if the text has a strikethrough.
           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         },
-        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
-          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
-              # Measured in degrees. Valid values are between -90 and 90. Positive
-              # angles are angled upwards, negative are angled downwards.
-              #
-              # Note: For LTR text direction positive angles are in the
-              # counterclockwise direction, whereas for RTL they are in the clockwise
-              # direction
-          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
-              # characters is unchanged.
-              # For example:
-              #
-              #     | V |
-              #     | e |
-              #     | r |
-              #     | t |
-              #     | i |
-              #     | c |
-              #     | a |
-              #     | l |
-        },
         &quot;backgroundColorStyle&quot;: { # A color value. # The background color of the cell.
             # If background_color is also set, this field takes precedence.
           &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
@@ -193089,6 +193285,9 @@
               #     };
               #
               #     // ...
+            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -193100,154 +193299,34 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
-            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
           },
         },
-        &quot;padding&quot;: { # The amount of padding around the cell, in pixels. # The padding of the cell.
-            # When updating padding, every field must be specified.
-          &quot;right&quot;: 42, # The right padding of the cell.
-          &quot;bottom&quot;: 42, # The bottom padding of the cell.
-          &quot;left&quot;: 42, # The left padding of the cell.
-          &quot;top&quot;: 42, # The top padding of the cell.
-        },
-        &quot;backgroundColor&quot;: { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
-            # for simplicity of conversion to/from color representations in various
-            # languages over compactness; for example, the fields of this representation
-            # can be trivially provided to the constructor of &quot;java.awt.Color&quot; in Java; it
-            # can also be trivially provided to UIColor&#x27;s &quot;+colorWithRed:green:blue:alpha&quot;
-            # method in iOS; and, with just a little work, it can be easily formatted into
-            # a CSS &quot;rgba()&quot; string in JavaScript, as well.
-            #
-            # Note: this proto does not carry information about the absolute color space
-            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
-            # space.
-            #
-            # Example (Java):
-            #
-            #      import com.google.type.Color;
-            #
-            #      // ...
-            #      public static java.awt.Color fromProto(Color protocolor) {
-            #        float alpha = protocolor.hasAlpha()
-            #            ? protocolor.getAlpha().getValue()
-            #            : 1.0;
-            #
-            #        return new java.awt.Color(
-            #            protocolor.getRed(),
-            #            protocolor.getGreen(),
-            #            protocolor.getBlue(),
-            #            alpha);
-            #      }
-            #
-            #      public static Color toProto(java.awt.Color color) {
-            #        float red = (float) color.getRed();
-            #        float green = (float) color.getGreen();
-            #        float blue = (float) color.getBlue();
-            #        float denominator = 255.0;
-            #        Color.Builder resultBuilder =
-            #            Color
-            #                .newBuilder()
-            #                .setRed(red / denominator)
-            #                .setGreen(green / denominator)
-            #                .setBlue(blue / denominator);
-            #        int alpha = color.getAlpha();
-            #        if (alpha != 255) {
-            #          result.setAlpha(
-            #              FloatValue
-            #                  .newBuilder()
-            #                  .setValue(((float) alpha) / denominator)
-            #                  .build());
-            #        }
-            #        return resultBuilder.build();
-            #      }
-            #      // ...
-            #
-            # Example (iOS / Obj-C):
-            #
-            #      // ...
-            #      static UIColor* fromProto(Color* protocolor) {
-            #         float red = [protocolor red];
-            #         float green = [protocolor green];
-            #         float blue = [protocolor blue];
-            #         FloatValue* alpha_wrapper = [protocolor alpha];
-            #         float alpha = 1.0;
-            #         if (alpha_wrapper != nil) {
-            #           alpha = [alpha_wrapper value];
-            #         }
-            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-            #      }
-            #
-            #      static Color* toProto(UIColor* color) {
-            #          CGFloat red, green, blue, alpha;
-            #          if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
-            #            return nil;
-            #          }
-            #          Color* result = [[Color alloc] init];
-            #          [result setRed:red];
-            #          [result setGreen:green];
-            #          [result setBlue:blue];
-            #          if (alpha &lt;= 0.9999) {
-            #            [result setAlpha:floatWrapperWithValue(alpha)];
-            #          }
-            #          [result autorelease];
-            #          return result;
-            #     }
-            #     // ...
-            #
-            #  Example (JavaScript):
-            #
-            #     // ...
-            #
-            #     var protoToCssColor = function(rgb_color) {
-            #        var redFrac = rgb_color.red || 0.0;
-            #        var greenFrac = rgb_color.green || 0.0;
-            #        var blueFrac = rgb_color.blue || 0.0;
-            #        var red = Math.floor(redFrac * 255);
-            #        var green = Math.floor(greenFrac * 255);
-            #        var blue = Math.floor(blueFrac * 255);
-            #
-            #        if (!(&#x27;alpha&#x27; in rgb_color)) {
-            #           return rgbToCssColor_(red, green, blue);
-            #        }
-            #
-            #        var alphaFrac = rgb_color.alpha.value || 0.0;
-            #        var rgbParams = [red, green, blue].join(&#x27;,&#x27;);
-            #        return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;);
-            #     };
-            #
-            #     var rgbToCssColor_ = function(red, green, blue) {
-            #       var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
-            #       var hexString = rgbNumber.toString(16);
-            #       var missingZeros = 6 - hexString.length;
-            #       var resultBuilder = [&#x27;#&#x27;];
-            #       for (var i = 0; i &lt; missingZeros; i++) {
-            #          resultBuilder.push(&#x27;0&#x27;);
-            #       }
-            #       resultBuilder.push(hexString);
-            #       return resultBuilder.join(&#x27;&#x27;);
-            #     };
-            #
-            #     // ...
-          &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
-              # the final pixel color is defined by the equation:
+        &quot;textRotation&quot;: { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+          &quot;angle&quot;: 42, # The angle between the standard orientation and the desired orientation.
+              # Measured in degrees. Valid values are between -90 and 90. Positive
+              # angles are angled upwards, negative are angled downwards.
               #
-              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              # Note: For LTR text direction positive angles are in the
+              # counterclockwise direction, whereas for RTL they are in the clockwise
+              # direction
+          &quot;vertical&quot;: True or False, # If true, text reads top to bottom, but the orientation of individual
+              # characters is unchanged.
+              # For example:
               #
-              # This means that a value of 1.0 corresponds to a solid color, whereas
-              # a value of 0.0 corresponds to a completely transparent color. This
-              # uses a wrapper message rather than a simple float scalar so that it is
-              # possible to distinguish between a default value and the value being unset.
-              # If omitted, this color object is to be rendered as a solid color
-              # (as if the alpha value had been explicitly given with a value of 1.0).
-          &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-          &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-          &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              #     | V |
+              #     | e |
+              #     | r |
+              #     | t |
+              #     | i |
+              #     | c |
+              #     | a |
+              #     | l |
         },
       },
       &quot;autoRecalc&quot;: &quot;A String&quot;, # The amount of time to wait before volatile functions are recalculated.
+      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
       &quot;iterativeCalculationSettings&quot;: { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
           # calculation.  Absence of this field means that circular references result
           # in calculation errors.
@@ -193257,9 +193336,6 @@
         &quot;convergenceThreshold&quot;: 3.14, # When iterative calculation is enabled and successive results differ by
             # less than this threshold value, the calculation rounds stop.
       },
-      &quot;timeZone&quot;: &quot;A String&quot;, # The time zone of the spreadsheet, in CLDR format such as
-          # `America/New_York`. If the time zone isn&#x27;t recognized, this may
-          # be a custom time zone such as `GMT-07:00`.
       &quot;spreadsheetTheme&quot;: { # Represents spreadsheet theme # Theme applied to the spreadsheet.
         &quot;primaryFontFamily&quot;: &quot;A String&quot;, # / Name of the primary font family.
         &quot;themeColors&quot;: [ # The spreadsheet theme color pairs. To update you must provide all theme
@@ -193388,6 +193464,9 @@
                   #     };
                   #
                   #     // ...
+                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
                 &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is,
                     # the final pixel color is defined by the equation:
                     #
@@ -193399,9 +193478,6 @@
                     # possible to distinguish between a default value and the value being unset.
                     # If omitted, this color object is to be rendered as a solid color
                     # (as if the alpha value had been explicitly given with a value of 1.0).
-                &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
-                &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
-                &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               },
             },
           },
@@ -193416,84 +193492,8 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
+      &quot;title&quot;: &quot;A String&quot;, # The title of the spreadsheet.
     },
-    &quot;namedRanges&quot;: [ # The named ranges defined in a spreadsheet.
-      { # A named range.
-        &quot;namedRangeId&quot;: &quot;A String&quot;, # The ID of the named range.
-        &quot;range&quot;: { # A range on a sheet. # The range this represents.
-            # All indexes are zero-based.
-            # Indexes are half open, e.g the start index is inclusive
-            # and the end index is exclusive -- [start_index, end_index).
-            # Missing indexes indicate the range is unbounded on that side.
-            #
-            # For example, if `&quot;Sheet1&quot;` is sheet ID 0, then:
-            #
-            #   `Sheet1!A1:A1 == sheet_id: 0,
-            #                   start_row_index: 0, end_row_index: 1,
-            #                   start_column_index: 0, end_column_index: 1`
-            #
-            #   `Sheet1!A3:B4 == sheet_id: 0,
-            #                   start_row_index: 2, end_row_index: 4,
-            #                   start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A:B == sheet_id: 0,
-            #                 start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1!A5:B == sheet_id: 0,
-            #                  start_row_index: 4,
-            #                  start_column_index: 0, end_column_index: 2`
-            #
-            #   `Sheet1 == sheet_id:0`
-            #
-            # The start index must always be less than or equal to the end index.
-            # If the start index equals the end index, then the range is empty.
-            # Empty ranges are typically not meaningful and are usually rendered in the
-            # UI as `#REF!`.
-          &quot;endRowIndex&quot;: 42, # The end row (exclusive) of the range, or not set if unbounded.
-          &quot;startColumnIndex&quot;: 42, # The start column (inclusive) of the range, or not set if unbounded.
-          &quot;sheetId&quot;: 42, # The sheet this range is on.
-          &quot;endColumnIndex&quot;: 42, # The end column (exclusive) of the range, or not set if unbounded.
-          &quot;startRowIndex&quot;: 42, # The start row (inclusive) of the range, or not set if unbounded.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the named range.
-      },
-    ],
-    &quot;developerMetadata&quot;: [ # The developer metadata associated with a spreadsheet.
-      { # Developer metadata associated with a location or object in a spreadsheet.
-          # Developer metadata may be used to associate arbitrary data with various
-          # parts of a spreadsheet and will remain associated at those locations as they
-          # move around and the spreadsheet is edited.  For example, if developer
-          # metadata is associated with row 5 and another row is then subsequently
-          # inserted above row 5, that original metadata will still be associated with
-          # the row it was first associated with (what is now row 6). If the associated
-          # object is deleted its metadata is deleted too.
-        &quot;metadataKey&quot;: &quot;A String&quot;, # The metadata key. There may be multiple metadata in a spreadsheet with the
-            # same key.  Developer metadata must always have a key specified.
-        &quot;metadataValue&quot;: &quot;A String&quot;, # Data associated with the metadata&#x27;s key.
-        &quot;visibility&quot;: &quot;A String&quot;, # The metadata visibility.  Developer metadata must always have a visibility
-            # specified.
-        &quot;metadataId&quot;: 42, # The spreadsheet-scoped unique ID that identifies the metadata. IDs may be
-            # specified when metadata is created, otherwise one will be randomly
-            # generated and assigned. Must be positive.
-        &quot;location&quot;: { # A location where metadata may be associated in a spreadsheet. # The location where the metadata is associated.
-          &quot;sheetId&quot;: 42, # The ID of the sheet when metadata is associated with an entire sheet.
-          &quot;spreadsheet&quot;: True or False, # True when metadata is associated with an entire spreadsheet.
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of location this object represents.  This field is read-only.
-          &quot;dimensionRange&quot;: { # A range along a single dimension on a sheet. # Represents the row or column when metadata is associated with
-              # a dimension. The specified DimensionRange must represent a single row
-              # or column; it cannot be unbounded or span multiple rows or columns.
-              # All indexes are zero-based.
-              # Indexes are half open: the start index is inclusive
-              # and the end index is exclusive.
-              # Missing indexes indicate the range is unbounded on that side.
-            &quot;sheetId&quot;: 42, # The sheet this span is on.
-            &quot;endIndex&quot;: 42, # The end (exclusive) of the span, or not set if unbounded.
-            &quot;startIndex&quot;: 42, # The start (inclusive) of the span, or not set if unbounded.
-            &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the span.
-          },
-        },
-      },
-    ],
   }</pre>
 </div>